我正在开发redmine的插件如何每天发送邮件,所以我安装了rufus-scheduler 在我的Gemfile中我添加了这一行
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
对此错误的任何想法?
由于
答案 0 :(得分:3)
你在你的Gemfile中写道
gem "rufus-scheduler "
不应该是
gem "rufus-scheduler"
代替?
添加该行后,您必须运行
bundle install
让Bundler抓取rufus-scheduler gem(并更新Gemfile.lock文件)。
IIRC,在启动Rails应用程序时,Bundler应该已经抱怨没有rufus-scheduler。这应该发生在LoadError之前。那么,你是否正在使用Bundler启动Rails应用程序? (无论如何你怎么开始?)答案 1 :(得分:0)
尝试
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
答案 2 :(得分:0)
sudo gem install rufus-scheduler --source http://gemcutter.org
通过“gem”命令安装rubygems,该命令通常指向“系统”Ruby,它通常也不是JRuby。
你可以做
jruby -S gem install rufus-scheduler
在JRuby加载路径中安装gem。