2017-05-29 4 views

Antwort

0

Müssen Sie den Cron auf beiden App-Servern haben? Warum haben Sie nicht nur einen Worker-Server?

Wenn Sie nicht nur einen Server haben, auf dem der Job ausgeführt wird, könnten Sie wahrscheinlich einen Wert in der Datenbank speichern, der angibt, ob der Job ausgeführt wurde oder nicht und sich diesen Wert vor dem Ausführen des Jobs ansehen :

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

Danke für den Vorschlag Manuel. Ich lernte diesen Weg, einen Worker-Server zu haben, aber ich glaube, weil wir, um beide Server gleich zu halten, eine bessere Lösung wollten, wie die, die Sie vorgeschlagen haben. – wongkoty

Verwandte Themen