dod*_*747 1 ruby production-environment delayed-job ruby-on-rails-3
我有一个延迟的工作,无论何时用户发布一首歌,这个工作都会向用户Facebook墙发送一个活动帖子.这是作业的代码并在控制器中调用它.
我使用的'delayed_job_active_record'是在Ryan Bates Facebook Open Graph Railscast中看到的宝石
user.rb
def self.post_song(user_id, song_url)
user = User.find(user_id)
user.facebook.put_connections("me", "virtual_piano:post", song: song_url)
end
Run Code Online (Sandbox Code Playgroud)
posts_controller.rb
(upon successful save)
User.delay.post_song(current_user.id, post_url(@post))
Run Code Online (Sandbox Code Playgroud)
此作业使用标准在开发模式下运行rake jobs:work.
我见过一些人使用RAILS_ENV=production script/delayed_job start延迟工作我怎么能在生产中调用这个方法并让它在后台运行?
非常感谢!
rake jobs:work在delayed_job中就像是rails srails 的命令 - 它在执行命令的控制台(shell)的主进程中运行.意味着当包含它的控制台(shell)停止运行(即您注销)时它会停止运行.
你会想要运行RAILS_ENV=production script/delayed_job start- 它启动delayed_job队列作为守护进程(后台进程)就像rails s -n对rails一样.
| 归档时间: |
|
| 查看次数: |
4588 次 |
| 最近记录: |