Beispiel #1
0
def modify_schedule(job_id):
    """
    @todo check changed params
    :param job_id:
    :return:
    """
    payload = request.get_json() or {}
    change = payload.get('change')
    if change:
        return jsonify({
            'message': 'invalid schedule params',
            'code': 104004
        }), 400

    job = scheduler.get_job(job_id)
    if not job:
        return jsonify({
            'message': 'record not found',
            'code': 104040,
        }), 404

    job.modify(change)

    return jsonify({
        'message': 'ok',
        'code': 0,
    })
Beispiel #2
0
def remove_schedule(job_id):
    job = scheduler.get_job(job_id)
    if not job:
        return jsonify({
            'message': 'record not found',
            'code': 104040,
        }), 404

    job.remove()

    return jsonify({
        'message': 'ok',
        'code': 0,
    })
Beispiel #3
0
def register_schedule(minutes=0):
    minutes = minutes or 60

    func = ansible_inventory_patrol
    name = func.__name__
    job_id = '5db150f3e3f7e0677091329f'
    if scheduler.state != 1:
        scheduler.start()
    job = scheduler.get_job(job_id=job_id)
    if not job:
        scheduler.add_job(func=func,
                          trigger='interval',
                          minutes=minutes,
                          name=name,
                          id=job_id)
Beispiel #4
0
def get_schedule_task(_id):
    schedule = scheduler.get_job(job_id=_id)
    if not schedule or not hasattr(schedule, '__getstate__'):
        return jsonify({
            'message': 'record not found',
            'code': 104040
        }), 404

    result = schedule.__getstate__()
    result['trigger'] = str(result['trigger'])

    return jsonify({
        'message': 'ok',
        'code': 0,
        'data': result,
    })
Beispiel #5
0
def reschedule_schedule(job_id):
    payload = request.get_json() or {}
    reschedule = payload.get('reschedule')
    if reschedule:
        return jsonify({
            'message': 'invalid schedule params',
            'code': 104004
        }), 400

    job = scheduler.get_job(job_id)
    if not job:
        return jsonify({
            'message': 'record not found',
            'code': 104040,
        }), 404

    job.reschedule()

    return jsonify({
        'message': 'ok',
        'code': 0,
    })