我有一个Sinatra应用程序,我计划在Heroku上托管。
该应用程序部分地从网络上的其他页面中删除很多信息,并将信息存储到数据库中。这些报废操作是一个缓慢的过程,因此我需要它们在与我的Sinatra应用程序分开的另一个线程/进程中运行。
我的计划只是为每个进程设置一个按钮,我可以点击该按钮,并在后台进行报废。
我不确定什么是最好的方法来做到这一点,复杂的是Heroku允许的。
答案 0 :(得分:4)
有一个名为hirefire的宝石专门用于:
HireFire自动“雇佣”和“开火”(又名“秤”)延迟工作 Heroku上的工作人员和Resque工作人员。当没有队列作业时,HireFire 会解雇(关闭)所有工人。如果有排队的工作,那么 它会聘请(提升)工人。被雇佣的工人数量 取决于排队作业的数量(可以配置比率 您)。 HireFire非常适合高,中,低流量 应用。只雇用员工可以为您节省很多钱 当有待处理的作业,然后再一次点击它们 工作已经处理完毕。它还能够大幅减少 通过在队列中自动雇用更多工人来处理时间 规模增加。