Skip to content

Commit 68d4905

Browse files
committed
feat: refactor tasks.py to handle scheduled and pending tasks
1 parent a0ce0b2 commit 68d4905

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

core/tasks.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
unique_tasks = set()
3030

3131
def revoke_tasks_by_arg(arg_to_match):
32-
for task in huey.scheduled():
32+
for task in huey.scheduled() + huey.pending():
3333
# Assuming the first argument is the one we're interested in (e.g., obj.pk)
3434
if task.args and task.args[0] == arg_to_match:
3535
logging.info("Revoke task: %s", task)
@@ -55,7 +55,7 @@ def cleanup_tasks():
5555

5656
@db_task(retries=3)
5757
def update_original_feed(sid: str, force:bool = False):
58-
if sid in unique_tasks:
58+
if sid in unique_tasks: # 如果判断force的话,是没法停止正在执行的task
5959
logging.warning("(skip)This task update_original_feed is executing: %s",sid)
6060
return
6161
else:
@@ -124,7 +124,7 @@ def update_original_feed(sid: str, force:bool = False):
124124

125125
@db_task(retries=3)
126126
def update_translated_feed(sid: str, force:bool = False):
127-
if sid in unique_tasks:
127+
if sid in unique_tasks: # 如果判断force的话,是没法停止正在执行的task
128128
logging.warning("(skip)The task update_translated_feed is executing: %s",sid)
129129
return
130130
else:
@@ -138,6 +138,7 @@ def update_translated_feed(sid: str, force:bool = False):
138138
return False
139139

140140
try:
141+
revoke_tasks_by_arg(sid)
141142
logging.info("Call task update_translated_feed: %s", obj.o_feed.feed_url)
142143

143144
if obj.o_feed.pk is None:

0 commit comments

Comments
 (0)