Skip to content

Commit 5b7ebea

Browse files
committed
Update the celery conf
1 parent f6da021 commit 5b7ebea

File tree

4 files changed

+27
-21
lines changed

4 files changed

+27
-21
lines changed

backend/app/task/celery.py

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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
# 自动发现任务

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ dependencies = [
4242
"pwdlib>=0.2.1",
4343
"pydantic>=2.11.0",
4444
"pydantic-settings>=2.0.0",
45+
"pymysql>=1.1.1",
4546
"python-jose>=3.3.0",
4647
"python-socketio>=5.12.0",
4748
"redis[hiredis]>=5.2.0",

requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,8 @@ pydantic-settings==2.8.1
201201
# via fastapi-best-architecture
202202
pygments==2.19.1
203203
# via rich
204+
pymysql==1.1.1
205+
# via fastapi-best-architecture
204206
pytest==8.3.5
205207
# via pytest-sugar
206208
pytest-sugar==1.0.0

uv.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)