|
@@ -72,11 +72,13 @@ def jm_job_create_job(jm_job_info: models.JmJobInfo, db: Session):
|
|
|
tasks = [ send_get("/jpt/af_task/getOnce",id)['data'] for id in se_id_to_af_id_dict.values()]
|
|
|
edges = crud.get_one_job_edges(db, jm_job_info.id)
|
|
|
dependence = [[se_id_to_af_id_dict[edge['in_node_id']],se_id_to_af_id_dict[str(edge['out_node_id'])]] for edge in edges]
|
|
|
+ cron = jm_job_info.cron_expression if jm_job_info.cron_type == 2 else '@once'
|
|
|
+ cron.replace('?','*')
|
|
|
af_job = {
|
|
|
"tasks": tasks,
|
|
|
"name": jm_job_info.name,
|
|
|
"dependence": dependence,
|
|
|
- "cron": jm_job_info.cron_expression if jm_job_info.cron_type == 2 else '@onec',
|
|
|
+ "cron": cron,
|
|
|
"desc": jm_job_info.name,
|
|
|
"route_strategy": "",
|
|
|
"block_strategy": "",
|
|
@@ -91,21 +93,25 @@ def jm_job_create_job(jm_job_info: models.JmJobInfo, db: Session):
|
|
|
af_job = res['data']
|
|
|
crud.create_relation(db, jm_job_info.id,'job', af_job['id'])
|
|
|
send_submit(af_job['id'])
|
|
|
+ send_pause(af_job['id'], True if jm_job_info.status == 1 else False)
|
|
|
|
|
|
|
|
|
def jm_job_update_job(jm_job_info: models.JmJobInfo, db: Session):
|
|
|
nodes = crud.get_one_job_nodes(db, jm_job_info.id)
|
|
|
homework_ids = [node.homework_id for node in nodes]
|
|
|
+ node_id_to_h_id = {node.id:node.homework_id for node in nodes}
|
|
|
relations = crud.get_af_ids(db,homework_ids, 'task')
|
|
|
se_id_to_af_id_dict = { relation.se_id:relation.af_id for relation in relations}
|
|
|
tasks = [ send_get("/jpt/af_task/getOnce",id)['data'] for id in se_id_to_af_id_dict.values()]
|
|
|
edges = crud.get_one_job_edges(db, jm_job_info.id)
|
|
|
- dependence = [[se_id_to_af_id_dict[edge['in_node_id']],se_id_to_af_id_dict[str(edge['out_node_id'])]] for edge in edges]
|
|
|
+ dependence = [[se_id_to_af_id_dict[node_id_to_h_id[edge.in_node_id]],se_id_to_af_id_dict[node_id_to_h_id[edge.out_node_id]]] for edge in edges]
|
|
|
+ cron = jm_job_info.cron_expression if jm_job_info.cron_type == 2 else '@once'
|
|
|
+ cron.replace('?','*')
|
|
|
af_job = {
|
|
|
"tasks": tasks,
|
|
|
"name": jm_job_info.name,
|
|
|
"dependence": dependence,
|
|
|
- "cron": jm_job_info.cron_expression if jm_job_info.cron_type == 2 else '@onec',
|
|
|
+ "cron": cron,
|
|
|
"desc": jm_job_info.name,
|
|
|
"route_strategy": "",
|
|
|
"block_strategy": "",
|
|
@@ -117,6 +123,7 @@ def jm_job_update_job(jm_job_info: models.JmJobInfo, db: Session):
|
|
|
res = send_put('/jpt/af_job', job_relation.af_id, af_job)
|
|
|
af_job = res['data']
|
|
|
send_submit(af_job['id'])
|
|
|
+ send_pause(af_job['id'], True if jm_job_info.status == 1 else False)
|
|
|
|
|
|
def jm_job_submit(jm_job_info: models.JmJobInfo, db: Session):
|
|
|
job_relation = crud.get_af_id(db,jm_job_info.id,'job')
|