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

1import gws 

2import gws.lib.job 

3import gws.server.uwsgi_module 

4 

5# from uwsgi 

6OK = -2 

7RETRY = -1 

8IGNORE = 0 

9 

10 

11def is_active(): 

12 try: 

13 gws.server.uwsgi_module.load() 

14 return True 

15 except ModuleNotFoundError: 

16 return False 

17 

18 

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) 

24 

25 

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))