我已經得到了一個cron作業做運行rake任務如下:rake任務
cd /home/myusername/approotlocation/ && /usr/bin/rake sendnewsletter RAILS_ENV=development
我有which ruby
和which rake
檢查,以確保路徑是正確的(從bash)的
的工作看起來要當它完成
Missing these required gems:
chronic
whenever
searchlogic
adzap-ar_mailer
twitter
gdata
bitly
ruby-recaptcha
You're running:
ruby 1.8.7.22 at /usr/bin/ruby
rubygems 1.3.5 at /home/myusername/gems, /usr/lib/ruby/gems/1.8
Run `rake gems:install` to install the missing gems.
(in /home/myusername/approotlocation)
我卡斯特運行,因爲我從cron守護程序得到以下電子郵件LIB /任務中OM耙文件如下:
task :sendnewsletter => :environment do
require 'rubygems'
require 'chronic'
require 'whenever'
require 'searchlogic'
require 'adzap-ar_mailer'
require 'twitter'
require 'gdata'
require 'bitly'
require 'ruby-recaptcha'
@recipients = Subscription.all(:conditions => {:active => true})
for user in @recipients
Email.send_later(:deliver_send_newsletter,user)
end
end
有或沒有要求的項目,但它仍然給了我同樣的錯誤......
任何人都可以闡明這一些輕?或可替換地告訴我關於如何使將要運行該功能的腳本目錄中的自定義文件(我已經有一個cron作業工作,將運行並處理我所有的delayed_jobs。
Jonathans建議下面我跑
後ENV
爲自身cron作業並取得了以下的輸出:
SHELL=/bin/sh
MAILTO=myemailaddress
USER=myusername
PATH=/usr/bin:/bin
PWD=/home/myusername
SHLVL=1
HOME=/home/myusername
LOGNAME= myusername
_=/usr/bin/env
做這意味着它沒有正確加載紅寶石文件? .... 也參加了Jonathans意見和產生以下cron.sh
文件
#!/bin/sh
date
echo "Executing Matenia Rake Task"
PATH=/usr/bin:/bin
cd /home/myusername/approotlocation/
rake sendnewsletter
仍然得到失蹤寶石注意到... 乾杯!
更新文件時有很多困難,它插入的文本不應該是......不能很好地完成這個選項......感謝嘗試:) – 2010-04-07 05:47:38
我仍然認爲這是一個路徑問題,只需使用/ usr/bin和/ bin是一條相當狹小的路徑。從你的shell類型echo $ PATH,這是你應該做的路徑。 – kSiR 2010-04-07 13:27:34
你好,我把它放在cron.sh文件中,我想運行它來做耙子任務..但不幸的是,它不想加載應用程序安裝的寶石...我一定錯過了一些簡單的東西... – 2010-04-08 11:08:25