【发布时间】:2014-02-28 13:25:45
【问题描述】:
我正在 redmine 中开发一个插件如何每天发送邮件,所以我安装了 rufus-scheduler 在我的 Gemfile 中添加这一行
gem "rufus-scheduler "
我还安装了 gem
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
对这个错误有什么想法吗?
谢谢
【问题讨论】:
-
1:哪个 Ruby 版本? 2:你用的是rvm吗?
-
jruby 1.7.10 (1.9.3p392) 2014-01-09 c4ecd6b on OpenJDK 64-Bit Server VM 1.7.0_51-mockbuild_2014_01_10_10_19-b00 [linux-amd64] 和 Rails 3.2.16
-
“我在我的代码中执行此操作”是什么意思?你的意思是a)你尝试将它作为一个独立的脚本还是b)我盲目地将它粘贴到我的rails控制器中......?
-
我刚刚在我的控制器中过去了
-
警告:为每个访问视图侦听器的 HTTP 请求启动 rufus-scheduler 是很危险的。每个调度程序都有自己的线程,您最终会发现 Ruby 进程被未使用的调度程序压得喘不过气来。更好的方法是在 config/initializers/ 中的某处启动调度程序,然后从控制器/侦听器进行调度。
标签: ruby rubygems jruby rufus-scheduler