Large uncommitted body of work accumulated across sessions on this branch -- committing as a checkpoint so it's tracked and future worktree-isolated agents see the real codebase instead of a stale ancestor commit. Covers the management app's dedicated Tailwind theme and templates, the club onboarding requirement/signup workflow (club/services/onboarding.py, requirement/status models, sign-up dashboard), fee/status auto-activation decoupling, referee management, and the new events calendar grid service layer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
23 lines
946 B
Python
23 lines
946 B
Python
"""Celery application for RosterChief's scheduled platform jobs.
|
|
|
|
Replaces the host crontab described in DEPLOYMENT.md's old "Scheduled jobs" section: the
|
|
same Redis instance django-redis already uses for caching (``DJANGO_REDIS_URL``) doubles as
|
|
the broker and result backend, so there is nothing new to deploy except the `worker` and
|
|
`beat` processes themselves (see compose.yaml) -- no RabbitMQ, no separate broker to run,
|
|
monitor or back up.
|
|
|
|
``autodiscover_tasks()`` with no arguments relies on Celery's Django integration (active
|
|
because DJANGO_SETTINGS_MODULE is set below): it walks INSTALLED_APPS and imports each
|
|
app's ``tasks.py`` if present -- see billing/tasks.py, club/tasks.py, events/tasks.py.
|
|
"""
|
|
|
|
import os
|
|
|
|
from celery import Celery
|
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rosterchief.settings")
|
|
|
|
app = Celery("rosterchief")
|
|
app.config_from_object("django.conf:settings", namespace="CELERY")
|
|
app.autodiscover_tasks()
|