Coverage for gws-app/gws/server/spool/runner.py: 31%
26 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 22:59 +0200
1import gws
2import gws.server.uwsgi_module
4# from uwsgi
5OK = -2
6RETRY = -1
7IGNORE = 0
10def is_active():
11 try:
12 gws.server.uwsgi_module.load()
13 return True
14 except ModuleNotFoundError:
15 return False
18def add(job: gws.Job):
19 uwsgi = gws.server.uwsgi_module.load()
20 gws.log.info(f'SPOOL: {job.uid=} added')
21 d = {b'job_uid': gws.u.to_bytes(job.uid)}
22 getattr(uwsgi, 'spool')(d)
25def run(root: gws.Root, env: dict):
26 job_uid = env.get(b'job_uid')
27 if not job_uid:
28 gws.log.error(f'no "job_uid"')
29 return
30 job = root.app.jobMgr.get_job(gws.u.to_str(job_uid))
31 if not job:
32 gws.log.error(f'{job_uid=} not found')
33 return
34 root.app.jobMgr.run_job(job)