2016-04-01 19 views
0

私はクラスメソッドをcronとsystemdを使ってRailsモデル内で開始しようとしています。スクリプト/ランナー:3: `require 'の中の3:そのようなファイルをロードできません - コマンド/ランナー(LoadError)

cronが適切なRailsメソッドをアクティブにしようとすると、不幸にも何らかのパス問題が発生するようです。以下は

は私のランナースクリプトで、問題を引き起こしラインは第三次のとおりです。この後
#!/usr/bin/env ruby 
require File.dirname(__FILE__) + '/../config/boot' 
require 'commands/runner' 

完全なエラーメッセージは以下の通りです

Apr 01 09:00:01 myapp systemd[1]: Started Myapp ModelA method b. 
Apr 01 09:00:02 myapp runner[25783]: /srv/myapp/current/script/runner:3:in `require': cannot load such file -- commands/runner (LoadError) 
Apr 01 09:00:02 myapp runner[25783]: from /srv/myapp/current/script/runner:3:in `<main>' 

またはレールが再生されているので、多分それはです私の4月の愚か者の冗談の1番目?

+0

私は部分的に同様の問題が見つかりました:https://www.ruby-forum.com/topic/1749534しかし、私はそこにrvmを使用しないので、あまり役に立たないと思います。 –

答えて

0

最近、myappがRails 2.3からRails 4.1に更新され、従来のようにランナーを起動するためにまだ/scriptというフォルダが使用されていたため問題が発生しました。レール4にランナーを開始する

適切な方法は、ビンを使用することです/このようなスクリプトをレール:

bin/rails runner "Model.method" 

私が持っていたもう一つの問題は、私はbin/*は私の.gitignoreファイルに指定されていたということでしたのでbin/railsスクリプトがありませんでしたサーバ内であっても。

私はthis stackoverflow postRailsGuides pageから助けを得ました。

関連する問題