def delete(self, *args, **kwargs): from task.utils.scheduler import remove_job id = self.pk remove_job(id, 'rss') TaskStatus.objects.filter(task_id=id, task_type='rss').delete() Content.objects.filter(task_id=id, task_type='rss').delete() logger.info('task_RSS{}删除'.format(id)) super(RSSTask, self).delete(*args, **kwargs)
def redefine_delete_selected(self, request, obj): for o in obj.all(): id = o.id remove_job(id, 'rss') TaskStatus.objects.filter(task_id=id, task_type='rss').delete() Content.objects.filter(task_id=id, task_type='rss').delete() o.delete() logger.info('task_RSS{}删除'.format(id)) messages.add_message(request, messages.SUCCESS, '删除成功')
def save(self, *args, **kwargs): from task.utils.scheduler import add_job, remove_job super(TaskStatus, self).save(*args, **kwargs) task_id = self.task_id if self.task_status == 0: if self.last_status != '更新任务成功': if self.task_type == 'html': task = Task.objects.get(id=task_id) add_job(task_id, task.frequency) elif self.task_type == 'rss': rss_task = RSSTask.objects.get(id=task_id) add_job(task_id, rss_task.frequency, 'rss') else: if self.task_type == 'html': remove_job(task_id) elif self.task_type == 'rss': remove_job(task_id, 'rss')