我需要在rails应用程序中定期运行后台任务。我做了一些研究,似乎没有一种标准的方法可以做到这一点。
我不想生成一个新的应用程序上下文,所以跑步者似乎是不可能的。如果我不需要,我宁愿不运行自己的线程处理程序。 (看起来这可能是除此之外的最有希望的选择。)
使用when gem我在schedule.rb中执行以下操作:
every 15.minutes do
command "curl http://127.0.0.1:3000/periodic"
end
这感觉有点像黑客,但我找不到比这更简单的东西 - 我能找到的其他所有东西似乎都是为了看似基本的东西。
我应该注意到这是一个内部项目,它将位于防火墙和无头自动化中间件之后,因此用户很少会直接访问该项目。
我是否遗漏了某些东西或是后台处理或定时事件真的不支持开箱即用?
答案 0 :(得分:0)
经过一番研究,Amadan提出的关于铁路的建议可能会让我得到我想要的东西。作为一种理想的解决方案,它并不完美,尽管取决于上下文(即可公开访问的rails项目),这是可行的方法。对于我正在进行的项目,它有点沉重,因为我正在做一个rails应用程序,它是两个系统之间的桥梁,运行无头,没有用户输入防火墙。