Add ability to define minimal time between job executions to support multiple corno nodes, so two different nodes will not execute the same job

Add Locking for the case that two nodes start perform job together.

If execution_interval == 0.minutes, skip locking and immediately perform
This commit is contained in:
avi_alima
2015-08-20 13:35:41 +03:00
parent 3a480a7d9a
commit e416113ac2

View File

@@ -107,6 +107,8 @@ module Crono
end
def perform_before_interval?
return false if execution_interval == 0.minutes
return true if self.last_performed_at.present? && self.last_performed_at > execution_interval.ago
return true if model.updated_at.present? && model.created_at != model.updated_at && model.updated_at > execution_interval.ago