有没有办法让预定作业在单个服务器上运行?我们有一个电子邮件发送作业,我不想同时运行两次。这是heroku工作者的目的吗?我目前的印象就是玩!工作实际上在网络工作者上运行谢谢!
答案 0 :(得分:6)
我们一直在使用Play! (不是在Heroku上),发现最简单的方法是为要运行作业的服务器定义framework id,为不运行作业的服务器定义框架ID。
在我们的案例中,“prodapp”是不运行作业的Production Application服务器,“prodadmin”是Production Admin / Job服务器(只有一个)。
我们在application.conf中包含以下内容以禁用prodapp服务器上的jobs插件:
%prodapp.plugins.disable=play.jobs.JobsPlugin
我不确定这是最好的解决方案,但在调查了其他一些选项之后,我们确定它是最快的,无需分享Play!源代码。
答案 1 :(得分:2)
我向Heroku发送了一张支持票,用于同样的查询。他们建议不要使用Play预定作业,而是改为使用Scheduler附加组件。
我认为您不能在Heroku中指定服务器ID,因此您无法将一个Web服务器与另一个Web服务器区分开来,因此如果您可以控制服务器的数量,则不能只使用一个实例来完成工作旋转起来。