@@ -19,31 +19,23 @@ def init_celery() -> celery.Celery:
1919
2020 app = celery .Celery (
2121 'fba_celery' ,
22- enable_utc = False ,
23- timezone = settings .DATETIME_TIMEZONE ,
24- beat_schedule = LOCAL_BEAT_SCHEDULE ,
25- broker_url = (
26- f'redis://:{ settings .REDIS_PASSWORD } @{ settings .REDIS_HOST } :'
27- f'{ settings .REDIS_PORT } /{ settings .CELERY_BROKER_REDIS_DATABASE } '
28- )
22+ broker = f'redis://:{ settings .REDIS_PASSWORD } @{ settings .REDIS_HOST } :{ settings .REDIS_PORT } /{ settings .CELERY_BROKER_REDIS_DATABASE } '
2923 if settings .CELERY_BROKER == 'redis'
30- else (
31- f'amqp://{ settings .CELERY_RABBITMQ_USERNAME } :{ settings .CELERY_RABBITMQ_PASSWORD } @'
32- f'{ settings .CELERY_RABBITMQ_HOST } :{ settings .CELERY_RABBITMQ_PORT } '
33- ),
24+ else f'amqp://{ settings .CELERY_RABBITMQ_USERNAME } :{ settings .CELERY_RABBITMQ_PASSWORD } @{ settings .CELERY_RABBITMQ_HOST } :{ settings .CELERY_RABBITMQ_PORT } ' ,
3425 broker_connection_retry_on_startup = True ,
35- result_backend = (
36- f'redis://:{ settings .REDIS_PASSWORD } @{ settings .REDIS_HOST } :'
37- f'{ settings .REDIS_PORT } /{ settings .CELERY_BACKEND_REDIS_DATABASE } '
38- ),
39- result_backend_transport_options = {
40- 'global_keyprefix' : settings .CELERY_BACKEND_REDIS_PREFIX ,
41- 'retry_policy' : {
42- 'timeout' : settings .CELERY_BACKEND_REDIS_TIMEOUT ,
43- },
44- },
26+ backend = f'db+{ settings .DATABASE_TYPE + "+pymysql" if settings .DATABASE_TYPE == "mysql" else settings .DATABASE_TYPE } ' # noqa: E501
27+ f'://{ settings .DATABASE_USER } :{ settings .DATABASE_PASSWORD } @{ settings .DATABASE_HOST } :{ settings .DATABASE_PORT } /{ settings .DATABASE_SCHEMA } ' ,
28+ database_engine_options = {'echo' : settings .DATABASE_ECHO },
29+ result_extended = True ,
30+ result_expires = 0 ,
31+ beat_schedule = LOCAL_BEAT_SCHEDULE ,
32+ beat_scheduler = 'app.task.utils.schedulers:DatabaseScheduler' ,
4533 task_cls = 'app.task.tasks.base:TaskBase' ,
4634 task_track_started = True ,
35+ enable_utc = False ,
36+ timezone = settings .DATETIME_TIMEZONE ,
37+ # TODO: Update this work if celery version >= 6.0.0
38+ worker_pool = celery_aio_pool .pool .AsyncIOPool ,
4739 )
4840
4941 # 自动发现任务
0 commit comments