diff --git a/.drone.yml b/.drone.yml index 306bdf7..45d1765 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,16 +26,16 @@ steps: - docker push git.oceanpay.cc/danial/kami_gateway_${DRONE_BRANCH}:${DRONE_BUILD_NUMBER} - docker push git.oceanpay.cc/danial/kami_gateway_${DRONE_BRANCH}:latest - docker logout git.oceanpay.cc - - name: deploy to docker compose - environment: - DOCKER_LOGIN: - from_secret: docker_login - DOCKER_TOKEN: - from_secret: docker_token - commands: - - docker login git.oceanpay.cc -u $DOCKER_LOGIN -p $DOCKER_TOKEN - - BRANCH=${DRONE_BRANCH} VERSION=${DRONE_BUILD_NUMBER} docker compose -f /data/kami/docker-compose.yaml --profile gateway up -d - - docker logout git.oceanpay.cc +# - name: deploy to docker compose +# environment: +# DOCKER_LOGIN: +# from_secret: docker_login +# DOCKER_TOKEN: +# from_secret: docker_token +# commands: +# - docker login git.oceanpay.cc -u $DOCKER_LOGIN -p $DOCKER_TOKEN +# - BRANCH=${DRONE_BRANCH} VERSION=${DRONE_BUILD_NUMBER} docker compose -f /data/kami/docker-compose.yaml --profile gateway up -d +# - docker logout git.oceanpay.cc trigger: branch: diff --git a/internal/utils/proxy_pool.go b/internal/utils/proxy_pool.go index b3f6650..81c5a22 100644 --- a/internal/utils/proxy_pool.go +++ b/internal/utils/proxy_pool.go @@ -201,6 +201,9 @@ func (p *OrderBasedProxyStrategy) getUnderLimitedProxy(ctx context.Context, perI p.mu.RLock() for _, proxies := range p.proxies { for _, proxy := range proxies { + if proxy == nil { + continue + } // 排除指定通道的代理 excluded := slices.Contains(excludeChannels, proxy.channel) if !excluded { @@ -221,8 +224,8 @@ func (p *OrderBasedProxyStrategy) getUnderLimitedProxy(ctx context.Context, perI func() { p.mu.Lock() defer p.mu.Lock() - for _, infos := range p.proxies { - slices.DeleteFunc(infos, func(info *ProxyInfo) bool { + for index, infos := range p.proxies { + p.proxies[index] = slices.DeleteFunc(infos, func(info *ProxyInfo) bool { return (info != nil && info.proxy == proxy) || info == nil }) }