0

I want to add time-lag between same role. e.g. roles :app = [app1, app2, app3]

My expectation(pseudo code):

app1: "1 * * * * rake 'heavy:task'"
app2: "3 * * * * rake 'heavy:task'"
app3: "2 * * * * rake 'heavy:task'"

1,2,3 is not important, but time-lag is important.

How to add time-lag between same role?

My actual schedule.rb:

every :hour, roles: [:app] do
  rake 'heavy:task'
end

Actual result(pseudo code):

app1: "0 * * * * rake 'heavy:task'"
app2: "0 * * * * rake 'heavy:task'"
app3: "0 * * * * rake 'heavy:task'"
Matt - sanemat
  • 5,418
  • 8
  • 37
  • 41

1 Answers1

0

My stab at this. Sleep randomly for 6 seconds, executed serverside

every :hour, roles: [:app] do
 on :all, in: :parallel do
  execute 'sleep #{rand(6)}'
  rake 'heavy:task'
 end
end
Electrawn
  • 2,254
  • 18
  • 24