MCPcopy Index your code
hub / github.com/diffgram/diffgram / job_resync_api

Function job_resync_api

default/methods/task/task_template/job_resync.py:10–47  ·  view source on GitHub ↗

Checks for any missing files on the job's datasets and sends a resync signal to create task in case of missing files. :return: http response

(project_string_id)

Source from the content-addressed store, hash-verified

8 methods = ['POST'])
9@Project_permissions.user_has_project(Roles = ["admin", "Editor"], apis_user_list = ["api_enabled_builder"])
10def job_resync_api(project_string_id):
11 """
12 Checks for any missing files on the job's datasets
13 and sends a resync signal to create task
14 in case of missing files.
15 :return: http response
16 """
17
18 spec_list = [
19 {"task_template_id": {
20 'required': True,
21 'kind': int
22 }},
23 ]
24
25 log, input, untrusted_input = regular_input.master(request = request,
26 spec_list = spec_list)
27 if len(log["error"].keys()) >= 1:
28 return jsonify(log = log), 400
29
30 with sessionMaker.session_scope() as session:
31 user = User.get(session)
32 project = Project.get_by_string_id(session = session, project_string_id = project_string_id)
33 if user:
34 member = user.member
35 else:
36 client_id = request.authorization.get('username', None)
37 auth = Auth_api.get(session, client_id)
38 member = auth.member
39
40 resync_result, log = job_resync_core(session = session,
41 project = project,
42 member = member,
43 task_template_id = input['task_template_id'],
44 log = log)
45 if len(log["error"].keys()) >= 1:
46 return jsonify(log = log), 400
47 return jsonify(resync_result = resync_result, log = log), 200
48
49
50def job_resync_core(session,

Callers

nothing calls this directly

Calls 3

job_resync_coreFunction · 0.85
getMethod · 0.45
get_by_string_idMethod · 0.45

Tested by

no test coverage detected