Skip to content

Align supervisor pidfile behavior with Solid Queue#45

Merged
knifecake merged 2 commits intomainfrom
fix/pidfile-default-none
Mar 8, 2026
Merged

Align supervisor pidfile behavior with Solid Queue#45
knifecake merged 2 commits intomainfrom
fix/pidfile-default-none

Conversation

@knifecake
Copy link
Owner

@knifecake knifecake commented Mar 8, 2026

Summary

  • change steady_queue.supervisor_pidfile default from tmp/pids/steady_queue_supervisor.pid to None
  • add an atexit cleanup hook in Pidfile.setup() so graceful exits remove pidfiles more reliably
  • document the new default in README.md and docs/configuration.rst
  • add changelog entry under Unreleased
  • add pidfile tests for default configuration, stale pidfile replacement, and atexit hook registration

Why

Solid Queue (Ruby) keeps supervisor_pidfile opt-in (nil by default). Making pidfiles enabled by default in containerized environments can cause startup failures due to stale files and PID reuse across restarts. This aligns behavior with upstream and reduces deploy-time flakiness.

Testing

  • Ran full test suite locally with PostgreSQL:
    • DB_URL=postgres://steady_queue:steady_queue@localhost:55432/app STEADY_QUEUE_DB_URL=postgres://steady_queue:steady_queue@localhost:55432/queue .venv/bin/python runtests.py
  • Result: Ran 158 tests ... OK

@knifecake knifecake merged commit f3bead5 into main Mar 8, 2026
3 checks passed
@knifecake knifecake deleted the fix/pidfile-default-none branch March 8, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant