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

1import gws 

2import gws.server.uwsgi_module 

3 

4# from uwsgi 

5OK = -2 

6RETRY = -1 

7IGNORE = 0 

8 

9 

10def is_active(): 

11 try: 

12 gws.server.uwsgi_module.load() 

13 return True 

14 except ModuleNotFoundError: 

15 return False 

16 

17 

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) 

23 

24 

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)