我使用 ActiveJob 和一个 Sidekiq 队列从大约 20-30 个不同的网站异步抓取数据,default
.
目前,添加的工作会立即开始,并从我正在抓取的主机中敲出。我想以更尊重的方式访问这些网站,但我不确定如何配置 ActiveJob/Sidekiq。
我的想法场景将实现以下目标:
- 针对公共来源的作业必须在背靠背作业之间等待至少 30 秒
- 针对不同来源的作业可以并行运行
- 应忽略对相同作业进行排队的尝试。换句话说,当尝试排队作业时,检查一个是否已经存在并且不要添加它
- 重试作业应遵循相同的标准
谢谢!