我正在使用Rufus Scheduler每两分钟运行另一个Ruby脚本。该脚本运行一次,但不会再运行一次。我的代码中有错误吗?HTOP显示,在"script.rb“代码运行一次之后,"launcher.rb”作为一个进程继续存在。
#launcher.rb
require "rubygems"
require "rufus-scheduler"
scheduler = Rufus::Scheduler.new
scheduler.every("2m")do
require "/home/pi/Bots/script.rb"
end
scheduler.join发布于 2019-09-01 02:41:06
您可以尝试使用
#launcher.rb
require "rubygems"
require "rufus-scheduler"
scheduler = Rufus::Scheduler.new
scheduler.every("2m")do
#require "/home/pi/Bots/script.rb"
load "/home/pi/Bots/script.rb"
end
scheduler.join它可能会起作用(“可能”,因为我不知道你的script.rb里到底有什么)。require不会再次加载并运行"home/pi/Bots/script.rb“后面的内容,而load将每次加载并运行。
您当前的启动程序每2分钟调用一次require,但只有在第一次加载并运行script.rb时才会调用。
请注意,以下内容可能更好:
# script.rb
module MyBot
def self.call
# do the job...
end
end
# launcher.rb
require 'rubygems'
require 'rufus-scheduler'
require '/home/pi/Bots/script.rb'
scheduler = Rufus::Scheduler.new
scheduler.every('2m') do
MyBot.call
end
scheduler.joinhttps://stackoverflow.com/questions/57739915
复制相似问题