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()
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()
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()
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'])
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'])
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)
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'])
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()
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'])
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'])
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'])
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()
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'])
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()
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'])
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'])
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()
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'])
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)
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)
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)