jm_job.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from app import crud, models
  2. from app.utils.send_util import *
  3. from app.utils.utils import get_cmd_parameter
  4. from sqlalchemy.orm import Session
  5. type_dict = {
  6. "Java": "java",
  7. "Python": "python",
  8. "Dag": "sparks"
  9. }
  10. def jm_job_create_task(jm_homework: models.JmHomework, db: Session):
  11. af_task = {
  12. "name": jm_homework.name,
  13. "file_urls": [jm_homework.dag_url] if jm_homework.type == "Dag" else [jm_homework.script_file],
  14. "script": "",
  15. "cmd": jm_homework.execute_command if jm_homework.type != "Dag" else "",
  16. "cmd_parameters": "",
  17. "envs": {},
  18. "run_image": jm_homework.image_url if jm_homework.type != "Dag" else "",
  19. "task_type": type_dict[jm_homework.type],
  20. "user_id": 0,
  21. }
  22. res = send_post('/jpt/af_task', af_task)
  23. af_task = res['data']
  24. crud.create_relation(db ,jm_homework.id, jm_homework.type, af_task['id'])
  25. return af_task
  26. def jm_job_update_task(jm_homework: models.JmHomework, db: Session):
  27. relation = crud.get_af_id(db, jm_homework.id, jm_homework.type)
  28. af_task = {
  29. "name": jm_homework.name,
  30. "file_urls": [jm_homework.dag_url] if jm_homework.type == "Dag" else [jm_homework.script_file],
  31. "script": "",
  32. "cmd": jm_homework.execute_command if jm_homework.type != "Dag" else "",
  33. "cmd_parameters": "",
  34. "envs": {},
  35. "run_image": jm_homework.image_url if jm_homework.type != "Dag" else "",
  36. "task_type": type_dict[jm_homework.type],
  37. "user_id": 0,
  38. }
  39. res = send_put('/jpt/af_task', relation.af_id, af_task)
  40. af_task = res['data']
  41. return af_task