我正在部署Sharetribe应用程序。按照他们的文档,我需要运行bundle exec rake RAILS_ENV=production jobs:work
。问题是执行此命令后,我需要关闭SSH
连接,为此我必须退出jobs
进程。
如何bundle exec rake RAILS_ENV=production jobs:work
在后台运行?
我正在部署Sharetribe应用程序。按照他们的文档,我需要运行bundle exec rake RAILS_ENV=production jobs:work
。问题是执行此命令后,我需要关闭SSH
连接,为此我必须退出jobs
进程。
如何bundle exec rake RAILS_ENV=production jobs:work
在后台运行?
在启动时将背景整合到污点执行器中。
为此,我们将使用 [systemd]。
文件结构。
[Unit]
Description = Tmarket background processing daemon program
[Service]
Type = Single
ExecStart = / home / marketuser / bin / rakejob.sh
Restart = always
[Install]
WantedBy = graphical.target
export PATH = / home / marketuser / bin: /home/marketuser/.nvm/versions/node/v6.1.0/bin: /home/marketuser/.rbenv/plugins/ruby-build/bin: / home / marketuser /. rbenv / shims: /home/marketuser/.rbenv/bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games
cd / var / www / tmarket /
exec rake jobs: work
[-] PATH 是通过执行控制台命令'echo $ PATH' 获得的 tmarket 是我们的 RoR 应用程序的目录
您可以像任何其他控制台命令一样运行它,方法是使用 nohup 或在命令末尾添加 & 符号,但请注意,如果您关闭终端选项卡,带有 & 的解决方案将停止。