我对此有点困惑。我有几个任务想要异步运行,例如我的库存同步集成。为此,我实现了延迟作业,但我意识到我需要运行rake作业:为此在Heroku上工作。我可以使用Heroku调度程序每10分钟运行一次这个rake任务。我的问题是:如果我创建要运行的rake任务,也就是我的清单同步方法,我还需要延迟的作业吗?我的理解是heroku调度程序启动了“one off dynos”。
我能不能直接启动sync方法而不是使用延迟作业,因为无论如何都会使用单独的dyno?这里延迟作业的附加值是什么?
发布于 2016-09-05 11:01:55
Heroku的Scheduler取代了cron在典型服务器上处理的内容。延迟作业或Sidekiq用于从应用程序异步处理作业,而不是定时调度。
使用worker并在后端运行这些作业的原因是,您的服务器可以尽快返回响应,而不是让用户等待一些可能不必要的长时间运行的进程完成(大量查询、出站电子邮件、外部API请求等)。
例如,调度程序可以每小时或每天从脚本运行分析或更新,但延迟的作业不能。
https://stackoverflow.com/questions/39323240
复制相似问题