Sidekiq đã hoạt động ở chế độ phát triển hoàn hảo. Bây giờ tôi đang cố gắng sử dụng nó trong sản xuất, tất cả các công việc chỉ là ngồi trong enqueue và không bao giờ được chạy. Bất cứ ai có thể chỉ cho tôi đi đúng hướng như thế nào để giải quyết vấn đề này?Công việc Sidekiq bị kẹt trong enqueue
Trả lời
Hãy kiểm tra xem quá trình sidekiq đang thực sự chạy:
ps aux | grep sidekiq
Nếu nó không phải là, cố gắng chạy sidekiq trong foreground đầu tiên và kiểm tra đầu ra.
bundle exec sidekiq -e production
Vì vậy, đơn giản, nhưng rất chính xác. Trong trường hợp cụ thể của tôi, tôi đã cấu hình sai tệp công nhân và đã giết quá trình sidekiq –
Câu trả lời này trông có liên quan: Sidekiq not processing queue Nếu Sidekiq không cho biết về tập tin cấu hình (có thể đòi hỏi một câu thần chú khác nhau trong sản xuất), sau đó nó có thể không được sử dụng hàng đợi đúng.
Đó thực sự là trường hợp của tôi – Deano
Giải pháp của tôi:
1.) Nhìn vào Sidekiq Web UI cho ứng dụng của bạn (đây là nơi mà bạn có thể thấy một thực tế rằng công việc đang đi vào một trạng thái enqueued).
2.) Bằng tay thử một công việc thất bại
3.) Kiểm tra các bản ghi trên máy chủ chạy Sidekiq:
(nói chung đây là nơi mà các bản ghi sẽ được bố trí, nếu nói rằng bạn đang làm điều này trên dàn)
tail -f /var/www/yourappname/current/log/staging.log
Đây thường là nơi bạn sẽ thấy thông báo lỗi chi tiết hơn về lý do tại sao Sidekiq không thể xử lý các công việc enqueued. Trong trường hợp của chúng tôi, có một biến môi trường trỏ đến một điểm cuối không chính xác cụ thể cho cấu hình triển khai của chúng tôi.
Trong nhiều trường hợp đối với tôi nó là bởi vì tôi đã không khai báo đúng hàng đợi cho dịch vụ cụ thể này trong config/sidekiq.yml
.
- 1. Chạy công việc bị trì hoãn và Sidekiq cùng lúc
- 2. Bị mắc kẹt trong việc lắp đặt TagList trong Vim
- 3. Công việc Sidekiq dài chạy tiếp tục chết
- 4. Android MediaPlayer bị kẹt trong chuẩn bị()
- 5. Bản đồ giảm công việc bị kẹt ở bản đồ 0% giảm 0%
- 6. Hudson - công việc bị mắc kẹt, làm thế nào để giết nó?
- 7. Trong clojure, sh bị kẹt
- 8. Cách tốt nhất để tìm một công việc ở bất cứ đâu trong Sidekiq
- 9. Haskell: Bị mắc kẹt trong IO monad
- 10. DrawerLayout bị kẹt khi vuốt
- 11. Yêu cầu bị kẹt trong RequestAcquireState trong quy trình công nhân IIS
- 12. Làm thế nào để kiểm tra công việc nền (Sidekiq) với Rspec?
- 13. Thất bại Xcode Git Merge bị kẹt
- 14. finalizer bị mắc kẹt trong vòng lặp vô hạn
- 15. Nút Bootstrap bị "kẹt" trên thiết bị di động
- 16. Git push bị kẹt ở 99%
- 17. Javascript "" .charCodeAt (0) bị kẹt tại 55357?
- 18. Bị mắc kẹt với ký hiệu O
- 19. Fancybox bị kẹt khung nội tuyến tải trong IE
- 20. Ngoại lệ không bị kẹt trong khối catch
- 21. Xcode 4 bị kẹt trên "Đang quét bản sao làm việc"
- 22. Lỗi Sidekiq Uninitialized Constant
- 23. Làm cách nào để xóa các công nhân khôi phục đã bị kẹt/cũ?
- 24. Khởi động lại Sidekiq
- 25. Dừng một chủ đề bị kẹt tại cuộc gọi chặn
- 26. Heroku - cách bắt đầu công việc làm (công việc bị trì hoãn)?
- 27. Ping Pong với Haskell và Thrift bị kẹt
- 28. Vải FabricJS bị "kẹt" sau khi thêm các thành phần
- 29. Học lập trình JavaScript, nhưng tôi bị kẹt
- 30. Bị mắc kẹt với một truy vấn MySQL
Tôi cho rằng bạn đang chạy ít nhất một nhân viên phụ trách sản xuất? – cthulhu
Vâng, tôi tin như vậy. Chính xác ý của bạn là gì? Tôi đã bắt đầu Sidekiq bằng cách chạy lệnh sau: bundle exec sidekiq -d -L/path/to/log. Và có một cuộc gọi không đồng bộ đến một nhân viên tôi đã tạo trong mã Rails của tôi. – groffcole
những gì trong nhật ký của bạn? bạn có thấy quy trình sidekiq không? (ps aux | grep sidekiq) có gì trong giao diện điều khiển sidekiq của bạn? – cthulhu