3
サーバをruby 1.9.2にアップグレードして以来、私はrakeタスクをcronから実行すると、初期化されていないYAML :: ENGINEを取得しています。私はアプリで同じエラーがあったが、入れて...cron - 初期化されていない定数からのレイクタスクYAML :: ENGINE
require 'yaml'
YAML::ENGINE.yamler= 'syck'
のboot.rbファイルを修正しました。自分のUbuntuサーバーのコマンドラインから直接タスクを実行すると、サーバーは正常に動作します。サーバーはRVMを使用します。
しかしcronでタスクを実行すると、ピックアップにこの修正をいないようだ、私は無駄に...
task :twitter, :needs => :environment do
require 'yaml'
YAML::ENGINE.yamler= 'syck'
@tweets = Property.updatetwitter
end
これを試してみました。
私はそれがcronから直接実行されているとは言えません。私はcronジョブを1.9.2に強制する方法を知っていますか? – creativetechnologist
私は答えを更新しましたが、私はそれに多くの経験を持っていないので、提案された解決策が不自由な方、良い方法が必要です。 cronは異なるアカウントで動作する可能性もあるので、RVMについてはわからず、システムルビー(/ usr/bin/rubyなど)を使用します。その場合は、サーバーにルビーを再インストールしてください。 –
この[解決策]を試しています(http://stackoverflow.com/questions/2398722/script-executes-successfully-in-commandline-but-not-as-a-cronjob/2399118#2399118)前方に大きな感謝@LukasStejskal – creativetechnologist