Stalker.enqueue 有 3 个选项:作业名称字符串、参数散列、选项散列。
选项哈希可以采用键/值对:ttr => timeout_in_seconds,正如您可能猜到的那样,它设置了 Stalker 在引发 JobTimeout 异常之前允许的秒数。
例如,如果你有一些疯狂的计算,你预计需要一个小时:
#job code
job 'crazy.calculation' do |args|
args['x'].to_i + args['y'].to_i + args['z'].to_i
end
#queuing code
Stalker.enqueue 'crazy.calculation', {:x => 1, :y => 2, :z => 3}, {:ttr => 3600}
如果您的计算不带参数,则使用相同的代码
#job code
job 'crazy.calculation' do |args|
1 + 2 + 3
end
#queuing code
Stalker.enqueue 'crazy.calculation', {}, {:ttr => 3600}
不要对 enqueue args 散列和作业 args 散列中的符号和字符串的可互换性感到困惑,在选项散列中:ttr 必须是符号。