Coverage for gws-app/gws/server/spool/runner.py: 0%
22 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1import gws
2import gws.lib.job
3import gws.server.uwsgi_module
5# from uwsgi
6OK = -2
7RETRY = -1
8IGNORE = 0
11def is_active():
12 try:
13 gws.server.uwsgi_module.load()
14 return True
15 except ModuleNotFoundError:
16 return False
19def add(job):
20 uwsgi = gws.server.uwsgi_module.load()
21 gws.log.info(f'SPOOLING {job.uid!r}')
22 d = {b'job_uid': gws.u.to_bytes(job.uid)}
23 getattr(uwsgi, 'spool')(d)
26def run(root: gws.Root, env: dict):
27 job_uid = env.get(b'job_uid')
28 if not job_uid:
29 raise ValueError('no job_uid found')
30 gws.lib.job.run(root, gws.u.to_str(job_uid))