2015-09-19 40 views
-1

我有一個ruby腳本,我想作爲cron job運行。當我通過Linux機器上的命令提示符運行時,它運行得非常好。但是當我使用cron作業運行相同的腳本時,它會失敗。作爲cron作業失敗的Ruby腳本

我得到以下字符串編碼錯誤。不知道爲什麼它只是在我作爲一個cron作業運行時抱怨。我還將shell設置爲crontab中的/ bin/bash,它與我的命令提示符一樣。

我得到的錯誤如下。這發生在拆分命令上。

split.encode('utf-8).split(some_str) 

下面是唯一的紅寶石特定的錯誤,其餘的是一個應用程序棧,因此我已經省略它。(添加它基於用戶請求)

在analyze_logs encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError) from ruby_file.rb:172:in塊(2級) ' 從ruby_file.rb:170:在analyze_logs each' from ruby_file.rb:170:in塊' 從ruby_file.rb:169:在open' from ruby_file.rb:169:in analyze_logs' 從ruby_file.rb:416:在run' from ruby_file.rb:479:in'

回答

1

使用whenever寶石,它會採取所有cronjobs

every 6.minutes do 
    rake "your_app:rake_task_name" 
end 
+0

酷相關問題的關心,但我爲什麼不能直接運行Ruby腳本作爲cron作業 – konquestor

+0

之前,我可以回答這個問題,你需要提供有關您的錯誤和一些代碼的更多信息。 – Zahid

+0

我已經添加了錯誤堆棧,但它的應用程序特定。也沒有任何代碼。它的崩潰命令,我已經提到,在問題:)。謝謝 – konquestor