如何运行耙子作业:在后台工作



我正在部署Sharetribe应用程序。按照他们的文档,我需要运行bundle exec rake RAILS_ENV=production jobs:work.问题是在执行此命令后,我需要关闭SSH连接,为此我必须退出jobs进程。

如何在后台运行bundle exec rake RAILS_ENV=production jobs:work

在启动时将背景集成到染色执行剂中。

为此,我们将使用 [systemd]。

  1. 在/etc/systemd/system/system/中创建文件 YourJob.service #The 文件将用于定义要在后台执行的代码。
  2. 运行命令"enable systemctl YourJob.service"
  3. 在任何此类目录 "/home/marketuser/bin/rakejob.sh"C 中创建.sh脚本文件
  4. 使用命令"status systemctl tmarketjob.service"检查了YourJob.service服务的执行状态
  5. 重新启动服务器。

文件结构。

# 您的工作服务

    [Unit]
    Description = Tmarket background processing daemon program
    [Service]
    Type = Single
    ExecStart = / home / marketuser / bin / rakejob.sh
    Restart = always
   [Install]
   WantedBy = graphical.target

# Rakejob.sh

!/垃圾桶/bash。

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

[-] 通过执行控制台命令 'echo $ PATH' 来遵守 PATH。tmarket 是我们 RoR 应用程序的目录

  • https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files

你可以像任何其他控制台命令一样运行它,方法是使用nohup或在命令末尾添加&符号,但请注意,如果你关闭终端选项卡,解决方案将停止。

请将 gem "守护进程" 包含在您的 Gemfile 中。并使用以下命令

RAILS_ENV=生产脚本/delayed_job启动

有关更多信息,请查看延迟的作业 gem。

相关内容

  • 没有找到相关文章

最新更新