Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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)