55from django .utils import timezone
66
77from common .job .scheduler import scheduler
8- from common .utils .lock import un_lock , try_lock , lock
8+ from common .utils .lock import lock , RedisLock
99from common .utils .logger import maxkb_logger
1010from knowledge .models import File , FileSourceType
1111
@@ -17,26 +17,28 @@ def clean_debug_file():
1717@lock (lock_key = 'clean_debug_file_execute' , timeout = 30 )
1818def clean_debug_file_lock ():
1919 from django .utils .translation import gettext_lazy as _
20- maxkb_logger .debug (_ ('start clean debug file' ))
20+ maxkb_logger .info (_ ('start clean debug file' ))
2121 minutes_30_ago = timezone .now () - timedelta (minutes = 30 )
2222 two_hours_ago = timezone .now () - timedelta (hours = 2 )
2323 one_days_ago = timezone .now () - timedelta (hours = 24 )
2424 # 删除对应的文件
2525 File .objects .filter (
2626 Q (create_time__lt = one_days_ago , source_type = FileSourceType .TEMPORARY_1_DAY .value ) |
2727 Q (create_time__lt = two_hours_ago , source_type = FileSourceType .TEMPORARY_120_MINUTE .value ) |
28- Q (create_time__lt = minutes_30_ago , source_type = FileSourceType .TEMPORARY_30_MINUTE .value )).delete ()
29- maxkb_logger .debug (_ ('end clean debug file' ))
28+ Q (create_time__lt = minutes_30_ago , source_type = FileSourceType .TEMPORARY_30_MINUTE .value )
29+ ).delete ()
30+ maxkb_logger .info (_ ('end clean debug file' ))
3031
3132
3233def run ():
33- if try_lock ('clean_debug_file' , 30 * 30 ):
34+ rlock = RedisLock ()
35+ if rlock .try_lock ('clean_debug_file' , 30 * 30 ):
3436 try :
3537 maxkb_logger .debug ('get lock clean_debug_file' )
3638
3739 clean_debug_file_job = scheduler .get_job (job_id = 'clean_debug_file' )
3840 if clean_debug_file_job is not None :
3941 clean_debug_file_job .remove ()
40- scheduler .add_job (clean_debug_file , 'cron' , hour = '*' , minute = '*/30 ' , second = '0' , id = 'clean_debug_file' )
42+ scheduler .add_job (clean_debug_file , 'cron' , hour = '*' , minute = '*/1 ' , second = '0' , id = 'clean_debug_file' )
4143 finally :
42- un_lock ('clean_debug_file' )
44+ rlock . un_lock ('clean_debug_file' )
0 commit comments