Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Sidekiq không xử lý hàng đợi

Lý do là trong trường hợp của chúng tôi:Sidekiq có thể tìm sai hàng đợi. Theo mặc định, Sidekiq sử dụng một hàng đợi có tên là "mặc định". Chúng tôi đã sử dụng hai tên hàng đợi khác nhau và xác định chúng trong config / sidekiq.yml

# configuration file for Sidekiq
:queues:
  - queue_name_1
  - queue_name_2

Vấn đề là tệp cấu hình này không được tải tự động theo mặc định trong môi trường phát triển của bạn (không giống như database.yml hoặc thinking_sphinx.yml ví dụ) bởi một sidekiq bundle exec sidekiq yêu cầu. Vì vậy, chúng tôi đã viết các công việc của mình trong hai hàng đợi nhất định và Sidekiq đang đợi các công việc trong hàng đợi thứ ba (hàng mặc định). Bạn phải chuyển đường dẫn đến tệp cấu hình dưới dạng tham số thông qua -C hoặc --config tùy chọn:

bundle exec sidekiq -C ./config/sidekiq.yml

hoặc bạn có thể chuyển trực tiếp tên hàng đợi (không cho phép khoảng trắng ở đây sau dấu phẩy):

bundle exec sidekiq -q queue_name_1,queue_name_2

Để tìm ra vấn đề, sẽ hữu ích khi chuyển tùy chọn -v hoặc --verbose tại dòng lệnh hoặc sử dụng :verbose: true trong sidekiq.yml tập tin. Tất nhiên mọi thứ được xác định trong tệp cấu hình sẽ vô dụng nếu tệp cấu hình không được tải. Do đó, trước tiên hãy đảm bảo rằng bạn đang sử dụng tệp cấu hình phù hợp.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Docker-compile - Redis ở mức 0.0.0.0 thay vì 127.0.0.1

  2. Redis băm tốc độ ghi rất chậm

  3. Sử dụng nginx để phân phát nội dung trực tiếp từ bộ nhớ đệm redis

  4. triển khai redis đến heroku không thể kết nối

  5. đếm số phiên trong kết nối-redis