您的问题中似乎混杂了一些想法。我会尽力将它们分开:
a) Heroku 上的 DelayedJob
处理在 DelayedJob 中排队的作业(即位于数据库中的延迟作业表中的记录)的一种方法是运行以下 rake 任务:
$ rake jobs:work
在 heroku 上,这个 rake 任务通常通过一个“工作”进程运行。
默认情况下,对于 rails 应用程序,您的 heroku 应用程序应该已经带有一个用于“workers”的滑块(最初设置为 0),它将运行上面的 rake 任务。只需将其滑动到“1”(每月花费大约 34.00 美元),就会在专用的 heroku 实例的后台启动 DelayedJob dequeue 进程,使用你的代码库,独立于你的 web dynos。
请注意,DelayedJob 不需要 Heroku 的“调度程序”插件。另请注意,heroku 按每月处理小时数收费。因此,如果您每月将“工人”滑到“1”一小时,然后在完成后再次滑回“0”,那么您支付的费用将远远低于约 34 美元的费用。还有一种方法可以以编程方式让工作人员上下滑动。
b) Heroku 上的 Cron
就目前而言,在 heroku 或其他基于云的应用程序服务提供商上管理您自己的自定义 cron文件是不可能的。一切都是短暂的,您或您的代码无法更改已部署的文件。
在这种情况下,Heroku 的调度程序是替换 cron 的合适插件。您应该能够在 heroku 调度程序中设置任务来执行您的 cron 任务当前正在执行的操作。
最后我检查了一下,heroku 的调度程序是免费的(参见:https ://addons.heroku.com/scheduler ),所以我不确定你为什么说它是 34.50 美元。
希望这可以帮助。