mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-23 11:12:28 +02:00
``` [2023-08-14 06:41:04,904: WARNING/MainProcess] /mnt/sda1/Development/Python/AllianceAuth/venv-3.11/lib/python3.11/site-packages/celery/worker/consumer/consumer.py:498: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine whether broker connection retries are made during startup in Celery 6.0 and above. If you wish to retain the existing behavior for retrying connections on startup, you should set broker_connection_retry_on_startup to True. ```
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
import os
|
|
from celery import Celery
|
|
from celery.app import trace
|
|
|
|
# set the default Django settings module for the 'celery' program.
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings.local')
|
|
|
|
from django.conf import settings # noqa
|
|
|
|
app = Celery('{{ project_name }}')
|
|
|
|
# Using a string here means the worker don't have to serialize
|
|
# the configuration object to child processes.
|
|
app.config_from_object('django.conf:settings')
|
|
|
|
# Automatically try to establish the connection to the AMQP broker on
|
|
# Celery startup if it is unavailable.
|
|
app.conf.broker_connection_retry_on_startup = True
|
|
|
|
# setup priorities ( 0 Highest, 9 Lowest )
|
|
app.conf.broker_transport_options = {
|
|
'priority_steps': list(range(10)), # setup que to have 10 steps
|
|
'queue_order_strategy': 'priority', # setup que to use prio sorting
|
|
}
|
|
app.conf.task_default_priority = 5 # anything called with the task.delay() will be given normal priority (5)
|
|
app.conf.worker_prefetch_multiplier = 1 # only prefetch single tasks at a time on the workers so that prio tasks happen
|
|
|
|
app.conf.ONCE = {
|
|
'backend': 'allianceauth.services.tasks.DjangoBackend',
|
|
'settings': {}
|
|
}
|
|
|
|
# Load task modules from all registered Django app configs.
|
|
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
|
|
|
|
# Remove result from default log message on task success
|
|
trace.LOG_SUCCESS = "Task %(name)s[%(id)s] succeeded in %(runtime)ss"
|