2017-05-29 46 views

回答

0

您是否需要在两台应用服务器上都安装cron?为什么不只有一个工作服务器?

如果你不能只有一台服务器在作业运行,你可能会保存一个值给数据库,指出作业是否已经运行,只是在执行作业之前查看该值, :

class BackgroundJob 
    def perform 
    return if performed_today? 
    JobRun.create!(performed_on: Date.today) 
    # Perform the job here 
    end 

    private 

    def performed_today? 
    JobRun.where(performed_on: Date.today).exists? 
    end 
end 
+0

谢谢你的建议曼努埃尔。我正在朝着拥有一台工作服务器的途径学习,但我相信因为要让两台服务器保持一致,我们需要一个更好的解决方案,比如您提出的解决方案。 – wongkoty