Rufus-Scheduler 运行 只有一次
Rufus-Scheduler Running Only Once
我正在使用 Rufus Scheduler 每两分钟 运行 另一个 Ruby 脚本。脚本 运行 出现过一次,但不会再出现了。我的代码有错误吗? HTOP 显示 "launcher.rb" 在 "script.rb" 代码 运行s 之后继续作为进程存在。
#launcher.rb
require "rubygems"
require "rufus-scheduler"
scheduler = Rufus::Scheduler.new
scheduler.every("2m")do
require "/home/pi/Bots/script.rb"
end
scheduler.join
你可以试试
#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
它可能有效("may" 因为我不知道你的 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.join
我正在使用 Rufus Scheduler 每两分钟 运行 另一个 Ruby 脚本。脚本 运行 出现过一次,但不会再出现了。我的代码有错误吗? HTOP 显示 "launcher.rb" 在 "script.rb" 代码 运行s 之后继续作为进程存在。
#launcher.rb
require "rubygems"
require "rufus-scheduler"
scheduler = Rufus::Scheduler.new
scheduler.every("2m")do
require "/home/pi/Bots/script.rb"
end
scheduler.join
你可以试试
#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
它可能有效("may" 因为我不知道你的 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.join