dbos 0.22.0a5__py3-none-any.whl → 0.22.0a7__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 dbos might be problematic. Click here for more details.
- dbos/_admin_server.py +21 -0
- dbos/_sys_db.py +3 -1
- {dbos-0.22.0a5.dist-info → dbos-0.22.0a7.dist-info}/METADATA +1 -1
- {dbos-0.22.0a5.dist-info → dbos-0.22.0a7.dist-info}/RECORD +7 -7
- {dbos-0.22.0a5.dist-info → dbos-0.22.0a7.dist-info}/WHEEL +0 -0
- {dbos-0.22.0a5.dist-info → dbos-0.22.0a7.dist-info}/entry_points.txt +0 -0
- {dbos-0.22.0a5.dist-info → dbos-0.22.0a7.dist-info}/licenses/LICENSE +0 -0
dbos/_admin_server.py
CHANGED
|
@@ -16,6 +16,7 @@ if TYPE_CHECKING:
|
|
|
16
16
|
_health_check_path = "/dbos-healthz"
|
|
17
17
|
_workflow_recovery_path = "/dbos-workflow-recovery"
|
|
18
18
|
_deactivate_path = "/deactivate"
|
|
19
|
+
_workflow_queues_metadata_path = "/dbos-workflow-queues-metadata"
|
|
19
20
|
# /workflows/:workflow_id/cancel
|
|
20
21
|
# /workflows/:workflow_id/resume
|
|
21
22
|
# /workflows/:workflow_id/restart
|
|
@@ -64,6 +65,26 @@ class AdminRequestHandler(BaseHTTPRequestHandler):
|
|
|
64
65
|
self.send_response(200)
|
|
65
66
|
self._end_headers()
|
|
66
67
|
self.wfile.write("deactivated".encode("utf-8"))
|
|
68
|
+
elif self.path == _workflow_queues_metadata_path:
|
|
69
|
+
queue_metadata_array = []
|
|
70
|
+
from ._dbos import _get_or_create_dbos_registry
|
|
71
|
+
|
|
72
|
+
registry = _get_or_create_dbos_registry()
|
|
73
|
+
for queue in registry.queue_info_map.values():
|
|
74
|
+
queue_metadata = {
|
|
75
|
+
"name": queue.name,
|
|
76
|
+
"concurrency": queue.concurrency,
|
|
77
|
+
"workerConcurrency": queue.worker_concurrency,
|
|
78
|
+
"rateLimit": queue.limiter,
|
|
79
|
+
}
|
|
80
|
+
# Remove keys with None values
|
|
81
|
+
queue_metadata = {
|
|
82
|
+
k: v for k, v in queue_metadata.items() if v is not None
|
|
83
|
+
}
|
|
84
|
+
queue_metadata_array.append(queue_metadata)
|
|
85
|
+
self.send_response(200)
|
|
86
|
+
self._end_headers()
|
|
87
|
+
self.wfile.write(json.dumps(queue_metadata_array).encode("utf-8"))
|
|
67
88
|
else:
|
|
68
89
|
self.send_response(404)
|
|
69
90
|
self._end_headers()
|
dbos/_sys_db.py
CHANGED
|
@@ -22,8 +22,8 @@ import sqlalchemy as sa
|
|
|
22
22
|
import sqlalchemy.dialects.postgresql as pg
|
|
23
23
|
from alembic import command
|
|
24
24
|
from alembic.config import Config
|
|
25
|
-
from sqlalchemy import or_
|
|
26
25
|
from sqlalchemy.exc import DBAPIError
|
|
26
|
+
from sqlalchemy.sql import func
|
|
27
27
|
|
|
28
28
|
from . import _serialization
|
|
29
29
|
from ._dbos_config import ConfigFile
|
|
@@ -307,6 +307,7 @@ class SystemDatabase:
|
|
|
307
307
|
recovery_attempts=(
|
|
308
308
|
SystemSchema.workflow_status.c.recovery_attempts + 1
|
|
309
309
|
),
|
|
310
|
+
updated_at=func.extract("epoch", func.now()) * 1000,
|
|
310
311
|
),
|
|
311
312
|
)
|
|
312
313
|
)
|
|
@@ -404,6 +405,7 @@ class SystemDatabase:
|
|
|
404
405
|
status=status["status"],
|
|
405
406
|
output=status["output"],
|
|
406
407
|
error=status["error"],
|
|
408
|
+
updated_at=func.extract("epoch", func.now()) * 1000,
|
|
407
409
|
),
|
|
408
410
|
)
|
|
409
411
|
)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
dbos-0.22.
|
|
2
|
-
dbos-0.22.
|
|
3
|
-
dbos-0.22.
|
|
4
|
-
dbos-0.22.
|
|
1
|
+
dbos-0.22.0a7.dist-info/METADATA,sha256=OZrIIqhA5tVwlWd5tAFmhPBc4aIQ-8GCOd-3bNuuBNI,5309
|
|
2
|
+
dbos-0.22.0a7.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
|
|
3
|
+
dbos-0.22.0a7.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
|
|
4
|
+
dbos-0.22.0a7.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
|
|
5
5
|
dbos/__init__.py,sha256=CxRHBHEthPL4PZoLbZhp3rdm44-KkRTT2-7DkK9d4QQ,724
|
|
6
|
-
dbos/_admin_server.py,sha256=
|
|
6
|
+
dbos/_admin_server.py,sha256=YiVn5lywz2Vg8_juyNHOYl0HVEy48--7b4phwK7r92o,5732
|
|
7
7
|
dbos/_app_db.py,sha256=_tv2vmPjjiaikwgxH3mqxgJ4nUUcG2-0uMXKWCqVu1c,5509
|
|
8
8
|
dbos/_classproperty.py,sha256=f0X-_BySzn3yFDRKB2JpCbLYQ9tLwt1XftfshvY7CBs,626
|
|
9
9
|
dbos/_cloudutils/authentication.py,sha256=V0fCWQN9stCkhbuuxgPTGpvuQcDqfU3KAxPAh01vKW4,5007
|
|
@@ -41,7 +41,7 @@ dbos/_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
41
41
|
dbos/_schemas/application_database.py,sha256=KeyoPrF7hy_ODXV7QNike_VFSD74QBRfQ76D7QyE9HI,966
|
|
42
42
|
dbos/_schemas/system_database.py,sha256=rwp4EvCSaXcUoMaRczZCvETCxGp72k3-hvLyGUDkih0,5163
|
|
43
43
|
dbos/_serialization.py,sha256=YCYv0qKAwAZ1djZisBC7khvKqG-5OcIv9t9EC5PFIog,1743
|
|
44
|
-
dbos/_sys_db.py,sha256=
|
|
44
|
+
dbos/_sys_db.py,sha256=muP2iEL0MeUBliJ7aBtCGARhZT1fsvZpfGjB0gghHII,62572
|
|
45
45
|
dbos/_templates/dbos-db-starter/README.md,sha256=GhxhBj42wjTt1fWEtwNriHbJuKb66Vzu89G4pxNHw2g,930
|
|
46
46
|
dbos/_templates/dbos-db-starter/__package/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
47
|
dbos/_templates/dbos-db-starter/__package/main.py,sha256=eI0SS9Nwj-fldtiuSzIlIG6dC91GXXwdRsoHxv6S_WI,2719
|
|
@@ -60,4 +60,4 @@ dbos/cli/cli.py,sha256=_tXw2IQrWW7fV_h51f_R99vEBSi6aMLz-vCOxKaENiQ,14155
|
|
|
60
60
|
dbos/dbos-config.schema.json,sha256=X5TpXNcARGceX0zQs0fVgtZW_Xj9uBbY5afPt9Rz9yk,5741
|
|
61
61
|
dbos/py.typed,sha256=QfzXT1Ktfk3Rj84akygc7_42z0lRpCq0Ilh8OXI6Zas,44
|
|
62
62
|
version/__init__.py,sha256=L4sNxecRuqdtSFdpUGX3TtBi9KL3k7YsZVIvv-fv9-A,1678
|
|
63
|
-
dbos-0.22.
|
|
63
|
+
dbos-0.22.0a7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|