如何从我的脚本中停止 rufus-scheduler:
@scheduler = Rufus::Scheduler.new
job = @scheduler.schedule_every '3m' do |job|
# processing
end
job.call
我只想在第一步测试作业是否正在运行,如果真的停止作业。谢谢
如何从我的脚本中停止 rufus-scheduler:
@scheduler = Rufus::Scheduler.new
job = @scheduler.schedule_every '3m' do |job|
# processing
end
job.call
我只想在第一步测试作业是否正在运行,如果真的停止作业。谢谢
这是一个独立的脚本,展示了如何做到这一点:
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
job = scheduler.schedule_every '1s' do
# processing...
sleep 3600
end
# later on...
sleep 2
p job.running? # true
job.kill if job.running?
p job.running? # false
文档:https ://github.com/jmettraux/rufus-scheduler/#job-methods
如果您不能保留作业实例但可以保留字符串,则可以执行以下操作:
job_id = scheduler.every '3m' do
# processing...
end
# later on...
job = scheduler.job(job_id)
文档:https ://github.com/jmettraux/rufus-scheduler/#schedulerjobjob_id