32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Queue worker (systemd --user)
|
|||
|
|
|
||
|
|
`QUEUE_CONNECTION=database`, so OSINT lookups only actually run while a
|
||
|
|
`queue:work` process is alive. This unit supervises one as a `systemd --user`
|
||
|
|
service — no root/sudo needed, survives crashes (`Restart=always`), and
|
||
|
|
restarts hourly (`--max-time=3600`) to pick up code/config changes and avoid
|
||
|
|
long-lived-process memory growth.
|
||
|
|
|
||
|
|
`--timeout=180` is intentionally above `config('osint.run_timeout')` (120s,
|
||
|
|
in `config/osint.php`) — the worker's timeout must exceed a runner's own
|
||
|
|
timeout, or the worker kills the job before the runner gets a chance to.
|
||
|
|
|
||
|
|
## Install
|
||
|
|
|
||
|
|
```
|
||
|
|
cp deploy/systemd/osint-queue-worker.service ~/.config/systemd/user/
|
||
|
|
systemctl --user daemon-reload
|
||
|
|
systemctl --user enable --now osint-queue-worker.service
|
||
|
|
```
|
||
|
|
|
||
|
|
Requires lingering enabled so the service keeps running without an active
|
||
|
|
login session: `loginctl enable-linger $USER` (needs sudo once, or ask your
|
||
|
|
sysadmin — already enabled on this box).
|
||
|
|
|
||
|
|
## Operate
|
||
|
|
|
||
|
|
```
|
||
|
|
systemctl --user status osint-queue-worker.service
|
||
|
|
journalctl --user -u osint-queue-worker.service -f
|
||
|
|
systemctl --user restart osint-queue-worker.service # after deploying code/.env changes
|
||
|
|
```
|