def after_update_listener(mapper, connection, target): from app.main.scheduler import add_job, remove_job remove_job(target.id) from app.models.task_status import TaskStatus task_status = TaskStatus.__table__ connection.execute(task_status.update().values( last_status='更新任务成功', last_run=datetime.now(), task_status='run').where(TaskStatus.task_id == target.id and TaskStatus.task_type == 'html')) add_job(target.id, target.frequency) logger.info('task_{}更新'.format(target.id))
def after_delete_listener(mapper, connection, target): from app.main.scheduler import remove_job remove_job(target.id) from app.models.task_status import TaskStatus task_status = TaskStatus.__table__ connection.execute(task_status.delete().where( TaskStatus.task_id == target.id and TaskStatus.task_type == 'html')) from app.models.content import Content content = Content.__table__ connection.execute(content.delete().where(Content.task_id == target.id and Content.task_type == 'html')) logger.info('task_{}删除'.format(target.id))
def after_update_listener(mapper, connection, target): from app.main.scheduler import add_job, remove_job if target.task_status == 'run': if target.task_type == 'html': from app.models.task import Task task = Task.__table__ select_res = connection.execute( task.select().where(Task.id == target.task_id)) for t in select_res: remove_job(target.task_id) add_job(target.task_id, t[6]) elif target.task_type == 'rss': from app.models.rss_task import RSSTask rss_task = RSSTask.__table__ select_res = connection.execute( rss_task.select().where(RSSTask.id == target.task_id)) for t in select_res: remove_job(target.task_id, 'rss') add_job(target.task_id, t[3], 'rss') else: remove_job(target.id)