Skip to content

Commit d72a05c

Browse files
authored
Fix the celery task scheduler query (#719)
1 parent ce3be1d commit d72a05c

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

backend/app/task/utils/schedulers.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ async def to_model_schedule(name: str, task: str, schedule: schedules.schedule |
176176
if isinstance(schedule, schedules.schedule):
177177
every = max(schedule.run_every.total_seconds(), 0)
178178
spec = {
179+
'name': name,
179180
'type': TaskSchedulerType.INTERVAL.value,
180181
'interval_every': every,
181182
'interval_period': PeriodType.SECONDS.value,
@@ -184,10 +185,10 @@ async def to_model_schedule(name: str, task: str, schedule: schedules.schedule |
184185
query = await db.execute(stmt)
185186
obj = query.scalars().first()
186187
if not obj:
187-
obj = TaskScheduler(**CreateTaskSchedulerParam(name=name, task=task, **spec).model_dump())
188-
return obj
188+
obj = TaskScheduler(**CreateTaskSchedulerParam(task=task, **spec).model_dump())
189189
elif isinstance(schedule, schedules.crontab):
190190
spec = {
191+
'name': name,
191192
'type': TaskSchedulerType.CRONTAB.value,
192193
'crontab_minute': schedule._orig_minute
193194
if crontab_verify('m', schedule._orig_minute, False)
@@ -207,17 +208,12 @@ async def to_model_schedule(name: str, task: str, schedule: schedules.schedule |
207208
query = await db.execute(stmt)
208209
obj = query.scalars().first()
209210
if not obj:
210-
obj = TaskScheduler(
211-
**CreateTaskSchedulerParam(
212-
name=name,
213-
task=task,
214-
**spec,
215-
).model_dump()
216-
)
217-
return obj
211+
obj = TaskScheduler(**CreateTaskSchedulerParam(task=task, **spec).model_dump())
218212
else:
219213
raise errors.NotFoundError(msg=f'暂不支持的计划类型:{schedule}')
220214

215+
return obj
216+
221217
@classmethod
222218
async def _unpack_fields(
223219
cls,

0 commit comments

Comments
 (0)