我的工头宝石没有加载我的所有服务。 这是我的Procfile:
search: redis-server
search: bundle exec rake resque:start &&> log/resque_worker_queue.log
search: bundle exec rackup private_pub.ru -s thin -E production & &> log/private_pub.log
search: bundle exec rake sunspot:solr:run
是否有可能解决这个问题或者我是否应该在开发模式下更好地使用GOD gem?
答案 0 :(得分:2)
流程类型必须都具有唯一的名称。从Procfile
开始,您已将所有流程命名为search
。尝试以下作为Procfile:
redis: redis-server
worker: bundle exec rake resque:start &&> log/resque_worker_queue.log
web: bundle exec rackup private_pub.ru -s thin -E production & &> log/private_pub.log
solr: bundle exec rake sunspot:solr:run
答案 1 :(得分:0)
您需要指定有关未加载哪些服务以及错误/控制台输出的更多详细信息。
问题很可能是你在后台启动流程(使用&
选项),而且工头不支持这个(参见this wiki page。另外,它更好(用于开发)至少)不要将输出重定向到日志文件 - foreman以一种很好的方式处理日志输出。
我还认为您需要使用resque:work
代替resque:start
。
你可以试试这个:
redis: redis-server
worker: QUEUE=* bundle exec rake resque:work
web: bundle exec rackup private_pub.ru -s thin -E production
solr: bundle exec rake sunspot:solr:run
如果其中任何一个仍无法正常工作,请检查这些命令是否有效,如果您直接在控制台中使用它们,并且它们仍然位于前台。