Last active
June 17, 2021 12:26
-
-
Save stevensona/17124c224b9988222824c6e1858b8169 to your computer and use it in GitHub Desktop.
systemd unit file for running ruby/rails delayed_job as service
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 bundle exec rake jobs:work' | |
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