Công việc dùng môi trường của chính worker Sidekiq, không phải một terminal mới hay tiến trình web Rails. Với một worker ở tiền cảnh mà ứng dụng khách HTTP của nó đọc các biến này:

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

Với cách bố trí Linux do systemd quản lý mà Sidekiq hướng dẫn, hãy đặt các giá trị trong drop-in của unit worker thực tế:

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

Tải lại các định nghĩa unit và thay thế worker bằng quy trình khởi động lại thông thường của triển khai. Tải lại mã Rails trong một worker đang chạy không thay thế môi trường mà nó kế thừa.

Một lần kiểm tra dịch vụ công cộng có thể dùng điểm cuối từ danh sách proxy HTTP trong các giá trị này khi trung gian công cộng được phép và ứng dụng khách của worker không có thông tin xác thực proxy được cấu hình hoặc lưu giữ. Khi có nhiều unit riêng cho từng hàng đợi, hãy xác định unit nào đã chạy công việc thất bại. Thành công từ một worker khác không chứng minh cấu hình của worker này.

Ghi lại unit đó và ứng dụng khách HTTP cùng nhau. Một ứng dụng khách được cấu hình rõ ràng có thể dùng tuyến khác bất kể các biến được cấp cho worker; trong trường hợp đó hãy cấu hình giao diện mà nó hỗ trợ.

Bài viết liên quan