我正在开发一个插件 redmine 如何每天发送邮件,所以我安装了 rufus-scheduler在我的宝石文件中,我添加了这一行
gem "rufus-scheduler "
我也安装了宝石
sudo gem install rufus-scheduler --source http://gemcutter.org
在我的Redmine/plugins/latest-issues-redmine-plugin/lib/latest_issues/view_hook_listener.rb中,我这样做
class LatestIssuesViewHookListener < Redmine::Hook::ViewListener
require File.join(File.dirname(__FILE__), '../../app/models/latest_issues_setup')
require 'net/smtp'
require 'rubygems'
require 'rufus-scheduler
def load_issues
scheduler = Rufus::Scheduler.start_new
scheduler.every '1h' do
send_email "test@test.com", :body => html
end
end
end
对这个错误有什么想法吗?
谢谢
你在 Gemfile 中写的
gem "rufus-scheduler "
不应该是
gem "rufus-scheduler"
相反?
添加行后,您必须运行
bundle install
让 Bundler 获取 rufus-scheduler gem(并更新 Gemfile.lock 文件)。
IIRC,在启动 Rails 应用程序时,Bundler 应该已经抱怨没有 rufus-scheduler。这应该发生在加载错误之前。那么,您是否使用Bundler启动Rails应用程序?(你如何启动它?
sudo gem install rufus-scheduler --source http://gemcutter.org
通过"gem"命令安装Rubygems,该命令通常指向"系统"Ruby,通常不是JRuby。
你可能可以做到
jruby -S gem install rufus-scheduler
以在 JRuby 加载路径中安装 Gem。
尝试使用
require 'rubygems' # tell ruby that you're using rubygems
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new # rufus-scheduler 3.0 style
scheduler.in '5s' do
puts "order ristretto"
end
scheduler.every '10s' do
puts "I feel like drinking coffee"
end
#scheduler.join
您似乎遵循了一个旧教程。当前关于 rufus-scheduler 的自述文件在 https://github.com/jmettraux/rufus-scheduler