我们正在使用sidekiq-limit_fetch
来拥有动态队列,并且需要能够暂停它们。
暂停功能确实有效,但在暂停生效之前似乎有延迟。
我在GitHub上的gem中创建了一个issue。
我在动态队列上遇到暂停功能问题。 这是一个显示问题的项目:https://github.com/cedricbirdly/pause-queue
要求:正在运行的本地redis服务器
重现:
执行launch_sidekiq.sh
。
这是一个处理队列的sidekiq进程" dynamicqueue"
执行ruby pause_and_enqueue_worker.rb
据我所知,sidekiq进程中不会发生任何事情,因为队列dynamicqueue在排队新作业之前设置为暂停。但是,工人跑了。
如果再次执行ruby pause_and_enqueue_worker.rb
,它会重置队列以暂停并将新作业排入队列,但不会执行
→这对我来说是预期的行为。
如果执行ruby release_queue.rb
,则会恢复队列处理并执行工作程序→这对我来说是预期的行为。
结论:
在暂停生效之前暂停队列似乎有延迟。我希望它是即时的。我的期望是错的吗?