sovereign 1.0.0b109__py3-none-any.whl → 1.0.0b122__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sovereign might be problematic. Click here for more details.

sovereign/server.py CHANGED
@@ -72,13 +72,13 @@ def write_supervisor_conf() -> Path:
72
72
  "socket": f"tcp://{asgi_config.host}:{asgi_config.port}",
73
73
  "numprocs": str(asgi_config.workers),
74
74
  "process_name": "%(program_name)s-%(process_num)02d",
75
- "command": "sovereign-web",
75
+ "command": "sovereign-web", # default niceness, higher CPU priority
76
76
  }
77
77
 
78
78
  conf["program:data"] = worker = {
79
79
  **base,
80
80
  "numprocs": "1",
81
- "command": "sovereign-worker",
81
+ "command": "nice -n 10 sovereign-worker", # run worker with reduced CPU priority (higher niceness value)
82
82
  }
83
83
 
84
84
  if user := asgi_config.user:
sovereign/statistics.py CHANGED
@@ -19,10 +19,13 @@ class StatsDProxy:
19
19
  return self.do_nothing
20
20
 
21
21
  def do_nothing(self, *args: Any, **kwargs: Any) -> None:
22
- k = args[0]
22
+ _ = args[0]
23
23
 
24
24
 
25
25
  class StatsdNoop:
26
+ def __init__(self, *args, **kwargs):
27
+ pass
28
+
26
29
  def __enter__(self): # type: ignore
27
30
  return self
28
31
 
@@ -33,6 +36,7 @@ class StatsdNoop:
33
36
  @wraps(func)
34
37
  def wrapped(*args: Any, **kwargs: Any): # type: ignore
35
38
  return func(*args, **kwargs)
39
+
36
40
  return wrapped
37
41
 
38
42
 
@@ -42,6 +46,7 @@ def configure_statsd() -> StatsDProxy:
42
46
  config = sovereign_config.statsd
43
47
  try:
44
48
  from datadog import DogStatsd
49
+
45
50
  module: Optional[DogStatsd]
46
51
  module = DogStatsd()
47
52
  if config.enabled and module:
sovereign/worker.py CHANGED
@@ -62,12 +62,17 @@ if config.sources is not None:
62
62
 
63
63
  def render(job: rendering.RenderJob):
64
64
  log.debug(f"Spawning render process for {job.id}")
65
- Process(target=rendering.generate, args=[job]).start()
65
+ process = Process(target=rendering.generate, args=[job])
66
+ process.start()
67
+ return process
66
68
 
67
69
 
68
70
  async def submit_render(job: rendering.RenderJob):
69
71
  async with RENDER_SEMAPHORE:
70
- render(job)
72
+ process = render(job)
73
+ # Wait for the process to complete to ensure semaphore is held
74
+ # until the actual rendering work is done
75
+ await asyncio.get_event_loop().run_in_executor(None, process.join)
71
76
 
72
77
 
73
78
  async def render_on_event():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sovereign
3
- Version: 1.0.0b109
3
+ Version: 1.0.0b122
4
4
  Summary: Envoy Proxy control-plane written in Python
5
5
  Home-page: https://pypi.org/project/sovereign/
6
6
  License: Apache-2.0
@@ -18,7 +18,7 @@ sovereign/modifiers/lib.py,sha256=Cx0VrpTKbSjb3YmHyG4Jy6YEaPlrwpeqNaom3zu1_hw,28
18
18
  sovereign/rendering.py,sha256=MIA7se7-C4WTWf7xZSgqpf7NvhDT7NkZbR3_G9N1dHI,5015
19
19
  sovereign/response_class.py,sha256=beMAFV-4L6DwyWzJzy71GkEW4gb7fzH1jd8-Tul13cU,427
20
20
  sovereign/schemas.py,sha256=Jf_w2mAX1b31eCAtJuxSZgy9KMVRKntmnEbbCZGZCxQ,38067
21
- sovereign/server.py,sha256=CEFysknYBtYdve9TTGSMW_-wmygp3NJ85pynAxNdlcw,2855
21
+ sovereign/server.py,sha256=G2z8bsYfIXhQy61vFRozmhQUtS6f5-WwwzZZO1RJ1ng,2971
22
22
  sovereign/sources/__init__.py,sha256=g9hEpFk8j5i1ApHQpbc9giTyJW41Ppgsqv5P9zGxOJk,78
23
23
  sovereign/sources/file.py,sha256=prUThsDCSPNwZaZpkKXhAm-GVRZWbBoGKGU0It4HHXs,690
24
24
  sovereign/sources/inline.py,sha256=pP77m7bHjqE3sSoqZthcuw1ARVMf9gooVwbz4B8OAek,1003
@@ -28,7 +28,7 @@ sovereign/static/node_expression.js,sha256=dL9QLM49jorqavf3Qtye6E1QTWYDT1rFI0tQR
28
28
  sovereign/static/panel.js,sha256=i5mGExjv-I4Gtt9dQiTyFwPZa8pg5rXeuTeidXNUiTE,2695
29
29
  sovereign/static/sass/style.scss,sha256=tPHPEm3sZeBFGDyyn3pHcA-nbaKT-h-UsSTsf6dHNDU,1158
30
30
  sovereign/static/style.css,sha256=vG8HPsbCbPIZfHgy7gSeof97Pnp0okkyaXyJzIEEW-8,447517
31
- sovereign/statistics.py,sha256=OGhya1KMeFv5sNpYJz2dVrbFqBDo3M9Ss_3pVMrfBxo,1976
31
+ sovereign/statistics.py,sha256=QhDB0bs5kZDGjy248AOIv_bzNbz_c2U7xmJ0hoUNOmw,2033
32
32
  sovereign/templates/base.html,sha256=5vw3-NmN291pXRdArpCwhSce9bAYBWCJVRhvO5EmE9g,2296
33
33
  sovereign/templates/err.html,sha256=a3cEzOqyqWOIe3YxfTEjkxbTfxBxq1knD6GwzEFljfs,603
34
34
  sovereign/templates/resources.html,sha256=QaZ1S38JhAZg3-PfQS1cAKhCczVLXw9e4pztBrqr4qs,40217
@@ -59,9 +59,9 @@ sovereign/views/crypto.py,sha256=7y0eHWtt-bbr2CwHEkH7odPaJ1IEviU-71U-MYJD0Kc,336
59
59
  sovereign/views/discovery.py,sha256=B_D1ckfbN1dSKBvuFCTyfB79GUUriCADTB53OwZ8D4Q,2409
60
60
  sovereign/views/healthchecks.py,sha256=TaXbxkX679jyQ8v5FxtBa2Qa0Z7KuqQ10WgAqfuVGUc,1743
61
61
  sovereign/views/interface.py,sha256=FmQ7LiUPLSvkEDOKCncrnKMD9g1lJKu-DQNbbyi8mqk,6346
62
- sovereign/worker.py,sha256=NqXlfi9QRlXcWeUPqHWvnYx2CPldY44iLb_fBJAiZ-4,4983
63
- sovereign-1.0.0b109.dist-info/LICENSE.txt,sha256=2X125zvAb9AYLjCgdMDQZuufhm0kwcg31A8pGKj_-VY,560
64
- sovereign-1.0.0b109.dist-info/METADATA,sha256=aBxCeJJ7LVqOxmWrNhwQuGu27tKosk58o0WHS2af3lc,6304
65
- sovereign-1.0.0b109.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
66
- sovereign-1.0.0b109.dist-info/entry_points.txt,sha256=VKJdnnN_HNL8xYQMXsFXfFmN6QkdXMEk5S964avxQJI,1404
67
- sovereign-1.0.0b109.dist-info/RECORD,,
62
+ sovereign/worker.py,sha256=sOVHVVv63I08_KIdaKR0hUnYLMXwoqh9jmsCw8albZE,5230
63
+ sovereign-1.0.0b122.dist-info/LICENSE.txt,sha256=2X125zvAb9AYLjCgdMDQZuufhm0kwcg31A8pGKj_-VY,560
64
+ sovereign-1.0.0b122.dist-info/METADATA,sha256=WJTgVmWF75T6G6Q9YlBREAoFy95mVrnZBk_Itv24EiU,6304
65
+ sovereign-1.0.0b122.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
66
+ sovereign-1.0.0b122.dist-info/entry_points.txt,sha256=VKJdnnN_HNL8xYQMXsFXfFmN6QkdXMEk5S964avxQJI,1404
67
+ sovereign-1.0.0b122.dist-info/RECORD,,