Задание использует окружение своего воркера Sidekiq, а не новый терминал или веб-процесс Rails. Для воркера на переднем плане, чей HTTP-клиент читает эти переменные:

http_proxy=http://proxy.example.net:8080 \
https_proxy=http://proxy.example.net:8080 \
bundle exec sidekiq

Для описанного в документации Sidekiq размещения Linux под управлением systemd поместите значения в drop-in фактического юнита воркера:

[Service]
Environment="http_proxy=http://proxy.example.net:8080"
Environment="https_proxy=http://proxy.example.net:8080"

Перезагрузите определения юнита и замените воркер обычной процедурой перезапуска развёртывания. Перезагрузка кода Rails в существующем воркере не заменяет унаследованное им окружение.

Проверка публичного сервиса может использовать конечную точку из списка HTTP-прокси в этих значениях, если публичные посредники разрешены и у клиента воркера нет настроенных или сохранённых учётных данных прокси. При нескольких юнитах для отдельных очередей определите, какой выполнил неудачное задание. Успех другого воркера не доказывает конфигурацию этого.

Зафиксируйте этот юнит и HTTP-клиент вместе. Явно настроенный клиент может использовать другой маршрут независимо от переданных воркеру переменных; в этом случае настройте поддерживаемый им интерфейс.

Похожие статьи