当前位置:  开发笔记 > 后端 > 正文

如何在生产中部署resque worker?

如何解决《如何在生产中部署resqueworker?》经验,为你挑选了2个好方法。

GitHub最近发布了使用Redis的后台处理应用程序:http : //github.com/defunkt/resque http://github.com/blog/542-introducing-resque

我让它在本地工作,但我很难让它在生产中工作.有没有人得到:

    Capistrano配方部署工人(控制工人数量,重新启动工作人员等)

    部署工作人员将机器与主应用程序运行的位置分开,这里需要哪些设置?

    得到redis在服务器上重启(我尝试将它放入cron但没有运气)

    你是如何在你的部署中使用resque-web(他们出色的监控应用程序)的?

谢谢!

PS我在Github上发布了一个关于此的问题,但尚无回复.希望一些SO大师可以帮助解决这个问题,因为我在部署方面不是很有经验.谢谢!



1> tsmango..:

我参加派对有点晚了,但我想发布一些对我有用的东西.基本上,我有神设置来监控redis和resque.如果它们不再运行,上帝就会重新启动它们.然后,我有一个rake任务,在一个退出我的resque worker的capistrano部署之后运行.一旦工人退出,上帝将启动新员工,以便他们运行最新的代码库.

以下是我在生产中如何使用resque的完整文章:

http://thomasmango.com/2010/05/27/resque-in-production



2> Garrett..:

我昨晚才想到这一点,因为Capistrano你应该使用san_juan,然后我喜欢使用上帝来管理工人的部署.至于幸存重启,我不确定,但我每6个月重启一次,所以我不太担心.

虽然他提出了不同的启动方法,但这对我来说最容易实现.(在deploy.rb中)

require 'san_juan'
after "deploy:symlink", "god:app:reload"
after "deploy:symlink", "god:app:start"

为了管理它在哪里运行,在另一台服务器上等,他在那里的配置部分介绍了它README.

我在我的切片上使用Passenger,所以它相对容易,我只需要一个config.ru这样的文件:

require 'resque/server'

run Rack::URLMap.new \
  "/" => Resque::Server.new

对于我的VirtualHost文件,我有:


        ServerName resque.server.com
        DocumentRoot /var/www/server.com/current/resque/public

        
          AuthType Basic
          AuthName "Resque Workers"
          AuthUserFile /var/www/server.com/current/resque/.htpasswd
          Require valid-user
        

另外,快速说明.确保你在resque:setuprake任务之外,它将为你节省大量的时间来与上帝产生新的工人.

我遇到了很多麻烦,所以如果您需要更多帮助,请发表评论.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有