Skip to content

Instantly share code, notes, and snippets.

@rapind
Forked from stevensona/[email protected]
Created December 1, 2020 17:42
Show Gist options
  • Save rapind/7eae33272dc28858c583e8440bde1b3c to your computer and use it in GitHub Desktop.
Save rapind/7eae33272dc28858c583e8440bde1b3c to your computer and use it in GitHub Desktop.
systemd unit file for running ruby/rails delayed_job as service
# Keep delayed job workers running using systemd on ubuntu
# Usage
# Start "sudo systemctl start delayed_job@{0..3}" to start 4 worker instances
# Enable "sudo systemctl enable delayed_job@{0..3}" to enable 4 worker instances
# Restart "sudo systemctl restart delayed_job@{0..3}" to restart 4 worker instances
# Disable "sudo systemctl disable delayed_job@{0..3}" to disable 4 worker instances
# Stop "sudo systemctl stop delayed_job@{0..3}" to stop 4 worker instances
[Unit]
Description=Delayed Job Worker %i
After=syslog.target network.target
AssertPathExists=/var/www/app
[Service]
Type=simple
WorkingDirectory=/var/www/app
ExecStart=/bin/bash -lc 'RAILS_ENV=production script/delayed_job restart'
KillSignal=SIGINT
User=deploy
Group=deploy
UMask=0002
# Restart after 1 minute delay
Restart=on-failure
RestartSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=dj_worker_%i
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment