29
29
unique_tasks = set ()
30
30
31
31
def revoke_tasks_by_arg (arg_to_match ):
32
- for task in huey .scheduled ():
32
+ for task in huey .scheduled () + huey . pending () :
33
33
# Assuming the first argument is the one we're interested in (e.g., obj.pk)
34
34
if task .args and task .args [0 ] == arg_to_match :
35
35
logging .info ("Revoke task: %s" , task )
@@ -55,7 +55,7 @@ def cleanup_tasks():
55
55
56
56
@db_task (retries = 3 )
57
57
def update_original_feed (sid : str , force :bool = False ):
58
- if sid in unique_tasks :
58
+ if sid in unique_tasks : # 如果判断force的话,是没法停止正在执行的task
59
59
logging .warning ("(skip)This task update_original_feed is executing: %s" ,sid )
60
60
return
61
61
else :
@@ -124,7 +124,7 @@ def update_original_feed(sid: str, force:bool = False):
124
124
125
125
@db_task (retries = 3 )
126
126
def update_translated_feed (sid : str , force :bool = False ):
127
- if sid in unique_tasks :
127
+ if sid in unique_tasks : # 如果判断force的话,是没法停止正在执行的task
128
128
logging .warning ("(skip)The task update_translated_feed is executing: %s" ,sid )
129
129
return
130
130
else :
@@ -138,6 +138,7 @@ def update_translated_feed(sid: str, force:bool = False):
138
138
return False
139
139
140
140
try :
141
+ revoke_tasks_by_arg (sid )
141
142
logging .info ("Call task update_translated_feed: %s" , obj .o_feed .feed_url )
142
143
143
144
if obj .o_feed .pk is None :
0 commit comments