我发现了在开发环境中运行的工作人员存在的一些问题,需要自定义领班导出任务以将ENV设置为生产:
task :export_worker, roles: :worker do
foreman_export = "foreman export --app #{application} --user #{user} --concurrency worker=3,worker_slow=2,clock=1 --log #{shared_path}/log upstart /etc/init"
run "cd #{current_path} && #{sudo} #{bundle_cmd} exec #{foreman_export}"
end有人知道我怎么能让它在运行时投入生产吗?
发布于 2014-02-06 16:47:23
Foreman有环境选项,可用于加载自定义.env文件。您可以尝试使用它将环境设置为生产环境。
例如,如果您有一个包含以下内容的development.env文件:
RAILS_ENV=development你可以让Foreman像这样加载它:
foreman export -e development.env -c worker=3,worker_slow=2,clock=1 upstart /etc/init然后,如果您需要引用您的Procfile中的环境(例如假设为sidekiq ):
worker: bundle exec sidekiq --environment $RAILS_ENVHeroku有一篇好文章来设置用于Foreman的.env文件。
https://stackoverflow.com/questions/20438988
复制相似问题