2015-03-03 42 views
1

大家好我有這樣的問題:軌4.2.0用每當創業板發展ENV,不工作

我使用的是RVM gemsets軌4.2.0(使用權紅寶石版本,並與安裝的寶石正確的寶石) 。 我試圖做一些任何時候使用寶石的cron任務,但我無法讓它工作。

這是我有:

的Gemfile

gem 'whenever', :require => false 

型號

class SomeModel < ActiveRecord::Base 
end 

schedule.rb

set :environment, :development 

every 1.minute do 
    runner "SomeModel.create" 
end 

使用

每當--update-的crontab店

我的crontab

# Begin Whenever generated tasks for: /home/user/project/config/schedule.rb 
* * * * * /bin/bash -l -c 'cd /home/user/project && bin/rails runner -e development '\''SomeModel.create'\''' 

# End Whenever generated tasks for: /home/user/project/config/schedule.rb 

在cron.log我看到,任務執行,但是我不後在db中看不到任何新對象(我正在使用mysql)。

所以我嘗試用模型創建新項目。我使用mysql-lite,並隨時添加具有相同類型任務的gem。然後我更新了crontab,並且每當開始正常工作時,直到我使用mysql代替mysql-lite。

我沒有發現任何疑難解答使用MySQL和每當文檔,所以我堅持這(使用控制檯,我可以創建沒有問題的對象)。

回答

1

在計劃中使用輸出幫助我發現問題。

我使用了特定的gemset,並沒有在我的日程表中指定它。 這就是爲什麼我得到錯誤。每當gem嘗試使用與我用於項目的gemset不同的默認gemset時。

所以有兩種方法可以解決問題,使用默認的gemset或者在你的計劃中指定你的。

設定樣品寶石和env的:

集:環境:開發

耙:

工作類型:耙,「CD:路徑& $ HOME/.rvm/scripts/rvm & & rvm使用 2.2。0 @ somename & &耙「:任務:輸出 」

亞軍:

工作類型:亞軍,「 CD:路徑& & $ HOME/.rvm /腳本/ RVM & & rvm use [email protected] & & bin/rails runner':task':output「