如果我使用 Heroku 调度程序,我还需要延迟作业吗?

If I use Heroku scheduler, do I still need delayed job?

我对此有点困惑。我有几个任务想 运行 异步执行,例如我的库存同步集成。为此,我实施了延迟作业,但我意识到我需要为此在 Heroku 上 运行 rake jobs:work。我可以使用 Heroku 调度程序每 10 分钟 运行 这个 rake 任务。我的问题是;如果我为 运行 创建 rake 任务,即我的库存同步方法,我还需要延迟工作吗?我的理解是 heroku scheduler 启动 'one off dynos'。

我可以不使用延迟作业,而是直接启动同步方法,因为无论如何都使用了单独的测功机?这里延迟工作的附加值是多少?

Heroku 的调度程序取代了 cron 在典型服务器上处理的内容。 Delayed Job 或 Sidekiq 用于从您的应用程序异步处理作业,而不是定时计划。

您在后端使用工作人员和 运行 这些工作的原因是您的服务器可以 return 尽快响应,而不是让用户等待一些可能不必要地 运行ning 过程完成(大量查询、出站电子邮件、外部 API 请求等)。

例如,调度程序可以每小时或每天从脚本运行 分析或更新,但延迟作业不能。