36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| from __future__ import absolute_import, unicode_literals
 | |
| from apps.utils.tasks import CustomTask
 | |
| from celery import shared_task
 | |
| from apps.dpm.models import CheckTaskSet, CheckWork
 | |
| from django.utils import timezone
 | |
| from datetime import timedelta
 | |
| from django.db import transaction
 | |
| 
 | |
| 
 | |
| @shared_task(base=CustomTask)
 | |
| def dispath_checkwork_task(checktaskset: str):
 | |
|     cts = CheckTaskSet.objects.get(id=checktaskset)
 | |
|     with transaction.atomic():
 | |
|         CheckWork.objects.filter(checktaskset=cts).update(usable=False)
 | |
|         cw = CheckWork()
 | |
|         cw.type = 20
 | |
|         cw.checktaskset = cts
 | |
|         now = timezone.now()
 | |
|         cw.time_start = now
 | |
|         local_time = timezone.localtime(now)
 | |
|         cw.name = "风险点排查_" + local_time.strftime('%Y%m%d%H%M%S')
 | |
|         if cts.expire:
 | |
|             cw.time_end = now + timedelta(hours=cts.expire)
 | |
|         cw.user_duty = cts.user_duty
 | |
|         cw.riskpoint = cts.riskpoint
 | |
|         cw.note = cts.note
 | |
|         cw.save()
 | |
|         # 发送通知
 | |
|         pass
 | |
| 
 | |
| 
 | |
| @shared_task(base=CustomTask)
 | |
| def expire_checkwork():
 | |
|     now = timezone.now()
 | |
|     CheckWork.objects.filter(expire__gte=now).update(enabled=False)
 |