0

同じ役割の間にタイムラグを追加したい。例: ロール :app = [app1, app2, app3]

私の期待(疑似コード):

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

1、2、3は重要ではありませんが、タイムラグは重要です。

同じロール間にタイムラグを追加するには?

私の実際のschedule.rb:

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

実際の結果(疑似コード):

app1: "0 * * * * rake 'heavy:task'"
app2: "0 * * * * rake 'heavy:task'"
app3: "0 * * * * rake 'heavy:task'"
4

1 に答える 1

0

これに対する私の刺し傷。ランダムに 6 秒間スリープし、サーバー側で実行

every :hour, roles: [:app] do
 on :all, in: :parallel do
  execute 'sleep #{rand(6)}'
  rake 'heavy:task'
 end
end
于 2013-11-01T16:44:21.883 に答える