예제 #1
0
파일: main.py 프로젝트: xiachufang/deployer
def worker_set_message(name):
    msg = request.form.get('message', '')
    worker = worker_manager.get(name)
    if not worker:
        return error(status_code=404)
    worker.set_message(msg.strip())
    return ok()
예제 #2
0
파일: main.py 프로젝트: xiachufang/deployer
def worker_poll_output(name):
    worker = worker_manager.get(name)
    if not worker:
        return error(status_code=404)
    output = worker.poll_output()
    return ok({
        'output': output,
        'is_running': worker.is_running,
        'return_code': worker.return_code,
    })
예제 #3
0
파일: main.py 프로젝트: xiachufang/deployer
def workers():
    return ok({
        'workers': [{
            'name': name,
            'display_name': worker.display_name,
            'status_url': url_for('.workers_status', name=name),
            'poll_output_url': url_for('.worker_poll_output', name=name),
            'deploy_url': url_for('.worker_deploy', name=name),
            'kill_url': url_for('.worker_kill', name=name),
            'set_message_url': url_for('.worker_set_message', name=name),
            'is_running': worker.is_running,
            'return_code': worker.return_code,
            'message': worker.message,
        } for name, worker in worker_manager.items()]
    })
예제 #4
0
파일: main.py 프로젝트: xiachufang/deployer
def workers_status(name):
    worker = worker_manager.get(name)
    if not worker:
        return error(status_code=404)

    return ok({
        'status': {
            'name': worker.name,
            'poll_output_url': url_for('.worker_poll_output', name=name),
            'deploy_url': url_for('.worker_deploy', name=name),
            'kill_url': url_for('.worker_kill', name=name),
            'set_message_url': url_for('.worker_set_message', name=name),
            'is_running': worker.is_running,
            'return_code': worker.return_code,
            'message': worker.message,
        }
    })
예제 #5
0
파일: main.py 프로젝트: xiachufang/deployer
def worker_kill(name):
    worker = worker_manager.get(name)
    if not worker:
        return error(status_code=404)
    worker.kill()
    return ok()
예제 #6
0
파일: main.py 프로젝트: xiachufang/deployer
def worker_deploy(name):
    worker = worker_manager.get(name)
    if not worker:
        return error(status_code=404)
    worker.run()
    return ok()