我最近添加了dokku-shoreman
插件和Procfile
,以便我的应用在部署时同时运行worker 和 Web进程。它看起来像这样:
web: bundle exec rails server -p $PORT
worker: bundle exec rake jobs:work
但是,现在当我使用dokku run <app> <cmd>
例如...rake db:migrate
时,服务器和工作人员开始运行。
目前我知道如何运行worker的唯一方法是使用Procfile
。部署后手动启动它并不是一个大问题 - 只有我不知道如何。
虽然理想仍然是让Procfile
和dokku run
同时工作。
答案 0 :(得分:3)
更新2 Dokku现在支持此http://dokku.viewdocs.io/dokku/deployment/process-management/
更新:结帐dokku-alt(不再维护)首先 - 它是我切换到的。
这是带有dokku的known issue。
这是问题讨论中详述的temporary solution,对我有用:
Procfile
重命名为Procfile.real
使用以下内容创建新的Procfile
:
web: bundle exec foreman start -f Procfile.real
gem 'foreman'
Gemfile
作为dep
bundle install
Procfile*
和Gemfile*