0

我的工头 gem 没有加载我所有的服务。这是我的 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?

4

2 回答 2

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
于 2012-04-18T20:35:28.950 回答
0

您需要指定有关未加载哪些服务以及错误/控制台输出的更多详细信息。

问题很可能是您正在后台启动进程(使用该&选项),而工头不支持这一点(请参阅此 wiki 页面。此外,最好(至少对于开发)不将输出重定向到日志文件 - 工头以一种很好的方式为您处理日志输出。

我也相信你需要使用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

如果其中任何一个仍然不起作用,请检查如果您直接在控制台中使用它们,这些命令是否有效,并且它们是否停留在前台。

于 2012-11-12T09:02:54.650 回答