diff --git a/archivist/core/__init__.py b/archivist/core/__init__.py index e69de29..d4fe4e0 100644 --- a/archivist/core/__init__.py +++ b/archivist/core/__init__.py @@ -0,0 +1,10 @@ +# core/__init__.py + +# Import the Celery app instance from the celery.py file in the same directory (core/celery.py). +# The celery.py file is where the Celery app instance is created and configured. +from .celery import app as celery_app + +# The __all__ variable is used to define what should be exported when someone imports the package (core). +# By specifying __all__ = ("celery_app",), we are explicitly stating that the celery_app should be exported +# when someone imports the core package. +__all__ = ("celery_app",) diff --git a/archivist/core/celery.py b/archivist/core/celery.py new file mode 100644 index 0000000..798493d --- /dev/null +++ b/archivist/core/celery.py @@ -0,0 +1,25 @@ +from __future__ import absolute_import, unicode_literals + +import os + +from celery import Celery + +# Set the default Django settings module for the 'celery' program. +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') + +app = Celery('core') + +# Using a string here means the worker doesn't have to serialize +# the configuration object to child processes. +# - namespace='CELERY' means all celery-related configuration keys +# should have a `CELERY_` prefix. +app.config_from_object('django.conf:settings', namespace='CELERY') + +# Load task modules from all registered Django app configs. +app.autodiscover_tasks() + +@app.task(bind=True) +def debug_task(self): + print('Request: {0!r}'.format(self.request)) + +