Exemplo n.º 1
0
def get_job():
    args = dict(request.args)
    if not validate_dict(args, required=['job_name'], job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    return job._serialize()
Exemplo n.º 2
0
def kill_all_tasks():
    args = dict(request.form)
    if not validate_dict(args, required=['job_name'], job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.kill_all()
Exemplo n.º 3
0
def start_job():
    args = dict(request.form)
    if not validate_dict(args, required=['job_name'], job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.start()
Exemplo n.º 4
0
def add_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str):
        abort(400)

    dagobah.add_job(args['job_name'])
Exemplo n.º 5
0
def delete_host():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['host_name'],
                         host_name=str):
        abort(400)

    dagobah.delete_host(args['host_name'])
Exemplo n.º 6
0
def edit_job():
    args = dict(request.form)
    if not validate_dict(args, required=['job_name'], job_name=str, name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    del args['job_name']
    job.edit(**args)
Exemplo n.º 7
0
def delete_task():
    args = dict(request.form)
    if not validate_dict(
            args, required=['job_name', 'task_name'
                            ], job_name=str, task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.delete_task(args['task_name'])
Exemplo n.º 8
0
def retry_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.retry()
Exemplo n.º 9
0
def get_job():
    args = dict(request.args)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    return job._serialize()
Exemplo n.º 10
0
def kill_all_tasks():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.kill_all()
Exemplo n.º 11
0
def delete_task():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.delete_task(args['task_name'])
Exemplo n.º 12
0
def edit_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str,
                         name=str):
        abort(400)
    job = dagobah.get_job(args['job_name'])
    del args['job_name']
    job.edit(**args)
Exemplo n.º 13
0
def update_job_notes():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'notes'],
                         job_name=str,
                         notes=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.update_job_notes(args['job_name'], args['notes'])
Exemplo n.º 14
0
def add_task_to_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_command', 'task_name'],
                         job_name=str,
                         task_command=str,
                         task_name=str):
        abort(400)

    dagobah.add_task_to_job(args['job_name'], args['task_command'],
                            args['task_name'])
Exemplo n.º 15
0
def kill_task():
    args = dict(request.form)
    if not validate_dict(
            args, required=['job_name', 'task_name'
                            ], job_name=str, task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)
    task.kill()
Exemplo n.º 16
0
def add_task_to_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_command', 'task_name'],
                         job_name=str,
                         task_command=str,
                         task_name=str):
        abort(400)

    dagobah.add_task_to_job(args['job_name'],
                            args['task_command'],
                            args['task_name'])
Exemplo n.º 17
0
def delete_dependency():
    args = dict(request.form)
    if not validate_dict(
            args,
            required=['job_name', 'from_task_name', 'to_task_name'],
            job_name=str,
            from_task_name=str,
            to_task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.delete_dependency(args['from_task_name'], args['to_task_name'])
Exemplo n.º 18
0
def get_run_log_history():
    args = dict(request.args)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)
    return task.get_run_log_history()
Exemplo n.º 19
0
def schedule_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'cron_schedule'],
                         job_name=str,
                         cron_schedule=str):
        abort(400)

    if args['cron_schedule'] == '':
        args['cron_schedule'] = None

    job = dagobah.get_job(args['job_name'])
    job.schedule(args['cron_schedule'])
Exemplo n.º 20
0
def delete_dependency():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name',
                                   'from_task_name',
                                   'to_task_name'],
                         job_name=str,
                         from_task_name=str,
                         to_task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    job.delete_dependency(args['from_task_name'], args['to_task_name'])
Exemplo n.º 21
0
def schedule_job():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'cron_schedule'],
                         job_name=str,
                         cron_schedule=str):
        abort(400)

    if args['cron_schedule'] == '':
        args['cron_schedule'] = None

    job = dagobah.get_job(args['job_name'])
    job.schedule(args['cron_schedule'])
Exemplo n.º 22
0
def kill_task():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)
    task.kill()
Exemplo n.º 23
0
def set_hard_timeout():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_name', 'hard_timeout'],
                         job_name=str,
                         task_name=str,
                         hard_timeout=int):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)

    task.set_hard_timeout(args['hard_timeout'])
Exemplo n.º 24
0
def export_job():
    args = dict(request.args)
    if not validate_dict(args,
                         required=['job_name'],
                         job_name=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])

    to_send = StringIO.StringIO()
    to_send.write(json.dumps(job._serialize(strict_json=True)))
    to_send.write('\n')
    to_send.seek(0)

    return send_file(to_send,
                     attachment_filename='%s.json' % job.name,
                     as_attachment=True)
Exemplo n.º 25
0
def edit_task():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str,
                         name=str,
                         command=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)

    del args['job_name']
    del args['task_name']
    job.edit_task(task.name, **args)
Exemplo n.º 26
0
def edit_task():
    args = dict(request.form)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str,
                         name=str,
                         command=str):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)

    del args['job_name']
    del args['task_name']
    job.edit_task(task.name, **args)
Exemplo n.º 27
0
def tail_task():
    args = dict(request.args)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str,
                         stream=str,
                         num_lines=int):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)

    call_args = {}
    for key in ['stream', 'num_lines']:
        if key in args:
            call_args[key] = args[key]
    return task.tail(**call_args)
Exemplo n.º 28
0
def tail_task():
    args = dict(request.args)
    if not validate_dict(args,
                         required=['job_name', 'task_name'],
                         job_name=str,
                         task_name=str,
                         stream=str,
                         num_lines=int):
        abort(400)

    job = dagobah.get_job(args['job_name'])
    task = job.tasks.get(args['task_name'], None)
    if not task:
        abort(400)

    call_args = {}
    for key in ['stream', 'num_lines']:
        if key in args:
            call_args[key] = args[key]
    return task.tail(**call_args)