我正在构建一个与某些内部工具集成的Slack Bot。如何启动Redis,Ruby脚本和Resque worker作为一个守护进程
我看到这样的解决方案:Trying to start redis and resque scheduler within a rake task
但有一个更清洁的方式做到这一点?
目前,我在另一个Ruby脚本start.rb
那基本上是这样开始的一切:
system('nohup redis-server &')
system('nohup bundle exec ruby slack_bot.rb &')
system("nohup bundle exec rake resque:workers QUEUE=* COUNT=#{$workers} &")
一般来说,这是好的,但由于某些原因,slack_bot有时会挂起。要重新启动,我必须杀死一个进程并重新启动它。我宁愿有一个简单的方法来重新启动一切,只是为了干净,基本上是守护进程。在完美的世界中,我可以将这一切作为系统服务运行,并通过service bot start
或/etc/init.d
启动/停止,或者启动/终止一个进程。
正是我所需要的,与'领班开始'完美合作,我可以在屏幕上运行它,使其持久。当我尝试执行系统服务部分时,Redis不启动,其他部分执行。我在某处读到Redis系列中的' - '可能存在问题。 –