【发布时间】:2019-08-30 02:05:46
【问题描述】:
我有执行http请求和更新数据库的sidekiq worker,我在worker执行的方法内部使用sleep。 sleep 需要防止频繁的 http 请求,但看起来 sleep 不能按预期工作。例如,我有一个 http 请求,它获取一些数据并将该数据保存到数据库,然后 sleep 2,但数据保存速度比每 2 条记录更快
秒。
附:我需要精确地延迟作业(而不是它们之间),因为一名工作人员在一次作业执行时执行多个 http 请求,并且我需要每个 http 请求之间的延迟。
【问题讨论】:
-
根据 Sidekiq 的作者it works fine。我的经历是一样的。你确定你没有很多并行产生的工人和频繁的保存吗?
-
@katafrakt,是的,当 worker 在 5 个线程中运行时观察到奇怪的行为,其中 1 个线程
sleep的行为接近预期。总之谢谢
标签: ruby-on-rails ruby sidekiq