[Unit]
Description=GitLab Sidekiq Worker
PartOf=gitlab.target
Requires=redis-server.service
Wants=postgresql.service
After=redis-server.service postgresql.service
PartOf=gitlab.service
ReloadPropagatedFrom=gitlab.service

[Service]
Type=simple
WorkingDirectory=/usr/share/gitlab
EnvironmentFile=/etc/gitlab/gitlab-debian.conf
SyslogIdentifier=gitlab-sidekiq
ExecStart=/usr/bin/bundle exec sidekiq \
    -C /etc/gitlab/sidekiq_queues.yml \
    -e $RAILS_ENV
Restart=on-abnormal

## No "Type=notify" support; wait for service to initialise:
ExecStartPost=-/bin/sh -c "for i in 4 4 4 4 4 4 4 4; do sleep $i; (ps -h -o command -p $MAINPID | grep -q -P \"sidekiq\s\d\.\d\.\d\") && exit 0; done"

[Install]
WantedBy=gitlab.target