1

毎日メールを送信する方法を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        

このエラーのアイデアはありますか?

ありがとう

4

3 に答える 3

3

あなたはあなたのGemfileに書きます

gem "rufus-scheduler "

すべきではないか

gem "rufus-scheduler"

代わりは?

行を追加した後、実行する必要があります

bundle install

Bundler が rufus-scheduler gem を取得できるようにします (そして、Gemfile.lock ファイルを更新します)。

IIRC によると、Rails アプリケーションを起動した時点で、Bundler はすでに rufus-scheduler が存在しないことについて不平を言っているはずです。これは、LoadError の前に発生するはずでした。では、Rails アプリを Bundler で起動しますか? (そもそもどうやって始めるの?)

于 2014-02-28T22:33:19.540 に答える
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 の現在の readme は、https://github.com/jmettraux/rufus-schedulerにあります。

于 2014-02-28T13:49:01.070 に答える