feat: empty CRON_SCHEDULE keeps container alive for manual docker exec
Three container lifetime modes via CRON_SCHEDULE: unset — run once on startup, exit empty string — sleep infinity; use docker exec -it winnow winnow cron expression — run on startup, then on schedule This replaces the need for a separate MANUAL_MODE env var. The empty string is a natural "I want the container alive but unscheduled" signal. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-4
@@ -48,10 +48,14 @@ services:
|
||||
# - RESET_PERSON=John # Clear uploaded+rejected history for one person
|
||||
|
||||
# ── Scheduling ────────────────────────────────────────────────────────
|
||||
# Cron expression (unset = run once and exit)
|
||||
# - CRON_SCHEDULE=0 3 * * 0 # Every Sunday at 3 AM
|
||||
# - CRON_SCHEDULE=0 3 1 * * # First of every month
|
||||
# - CRON_SCHEDULE=*/30 * * * * # Every 30 minutes
|
||||
# CRON_SCHEDULE controls container lifetime:
|
||||
# unset — run once on startup, then exit
|
||||
# empty string — stay alive, run nothing; trigger manually with:
|
||||
# docker exec -it winnow winnow
|
||||
# cron expression — run on startup, then on schedule
|
||||
# - CRON_SCHEDULE= # Manual mode (keep alive, no auto-run)
|
||||
# - CRON_SCHEDULE=0 3 * * 0 # Every Sunday at 3 AM
|
||||
# - CRON_SCHEDULE=0 3 1 * * # First of every month
|
||||
volumes:
|
||||
# Replace with absolute paths on your host, e.g. /opt/winnow/models
|
||||
- /path/to/winnow/models:/models
|
||||
|
||||
Reference in New Issue
Block a user