dbos 1.8.0a8__py3-none-any.whl → 1.9.0__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/_core.py +2 -1
- dbos/_dbos.py +25 -25
- dbos/cli/cli.py +6 -6
- {dbos-1.8.0a8.dist-info → dbos-1.9.0.dist-info}/METADATA +1 -1
- {dbos-1.8.0a8.dist-info → dbos-1.9.0.dist-info}/RECORD +8 -8
- {dbos-1.8.0a8.dist-info → dbos-1.9.0.dist-info}/WHEEL +0 -0
- {dbos-1.8.0a8.dist-info → dbos-1.9.0.dist-info}/entry_points.txt +0 -0
- {dbos-1.8.0a8.dist-info → dbos-1.9.0.dist-info}/licenses/LICENSE +0 -0
dbos/_core.py
CHANGED
|
@@ -49,6 +49,7 @@ from ._context import (
|
|
|
49
49
|
get_local_dbos_context,
|
|
50
50
|
)
|
|
51
51
|
from ._error import (
|
|
52
|
+
DBOSAwaitedWorkflowCancelledError,
|
|
52
53
|
DBOSException,
|
|
53
54
|
DBOSMaxStepRetriesExceeded,
|
|
54
55
|
DBOSNonExistentWorkflowError,
|
|
@@ -370,7 +371,7 @@ def _get_wf_invoke_func(
|
|
|
370
371
|
r: R = dbos._sys_db.await_workflow_result(status["workflow_uuid"])
|
|
371
372
|
return r
|
|
372
373
|
except DBOSWorkflowCancelledError as error:
|
|
373
|
-
raise
|
|
374
|
+
raise DBOSAwaitedWorkflowCancelledError(status["workflow_uuid"])
|
|
374
375
|
except Exception as error:
|
|
375
376
|
if not dbos.debug_mode:
|
|
376
377
|
dbos._sys_db.update_workflow_outcome(
|
dbos/_dbos.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
|
-
import atexit
|
|
5
4
|
import hashlib
|
|
6
5
|
import inspect
|
|
7
6
|
import os
|
|
@@ -1219,39 +1218,40 @@ class DBOS:
|
|
|
1219
1218
|
return rv
|
|
1220
1219
|
|
|
1221
1220
|
@classproperty
|
|
1222
|
-
def workflow_id(cls) -> str:
|
|
1223
|
-
"""Return the
|
|
1224
|
-
ctx =
|
|
1225
|
-
|
|
1226
|
-
ctx.
|
|
1227
|
-
|
|
1228
|
-
|
|
1221
|
+
def workflow_id(cls) -> Optional[str]:
|
|
1222
|
+
"""Return the ID of the currently executing workflow. If a workflow is not executing, return None."""
|
|
1223
|
+
ctx = get_local_dbos_context()
|
|
1224
|
+
if ctx and ctx.is_within_workflow():
|
|
1225
|
+
return ctx.workflow_id
|
|
1226
|
+
else:
|
|
1227
|
+
return None
|
|
1229
1228
|
|
|
1230
1229
|
@classproperty
|
|
1231
|
-
def step_id(cls) -> int:
|
|
1232
|
-
"""Return the step ID for the currently executing step. This is a unique identifier of the current step within the workflow."""
|
|
1233
|
-
ctx =
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1230
|
+
def step_id(cls) -> Optional[int]:
|
|
1231
|
+
"""Return the step ID for the currently executing step. This is a unique identifier of the current step within the workflow. If a step is not currently executing, return None."""
|
|
1232
|
+
ctx = get_local_dbos_context()
|
|
1233
|
+
if ctx and (ctx.is_step() or ctx.is_transaction()):
|
|
1234
|
+
return ctx.function_id
|
|
1235
|
+
else:
|
|
1236
|
+
return None
|
|
1238
1237
|
|
|
1239
1238
|
@classproperty
|
|
1240
|
-
def step_status(cls) -> StepStatus:
|
|
1241
|
-
"""Return the status of the currently executing step."""
|
|
1242
|
-
ctx =
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1239
|
+
def step_status(cls) -> Optional[StepStatus]:
|
|
1240
|
+
"""Return the status of the currently executing step. If a step is not currently executing, return None."""
|
|
1241
|
+
ctx = get_local_dbos_context()
|
|
1242
|
+
if ctx and ctx.is_step():
|
|
1243
|
+
return ctx.step_status
|
|
1244
|
+
else:
|
|
1245
|
+
return None
|
|
1246
1246
|
|
|
1247
1247
|
@classproperty
|
|
1248
1248
|
def parent_workflow_id(cls) -> str:
|
|
1249
1249
|
"""
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
`parent_workflow_id` must be accessed from within a workflow function.
|
|
1250
|
+
This method is deprecated and should not be used.
|
|
1253
1251
|
"""
|
|
1254
|
-
|
|
1252
|
+
dbos_logger.warning(
|
|
1253
|
+
"DBOS.parent_workflow_id is deprecated and should not be used"
|
|
1254
|
+
)
|
|
1255
1255
|
ctx = assert_current_dbos_context()
|
|
1256
1256
|
assert (
|
|
1257
1257
|
ctx.is_within_workflow()
|
dbos/cli/cli.py
CHANGED
|
@@ -10,7 +10,7 @@ from typing import Any, Optional
|
|
|
10
10
|
import jsonpickle # type: ignore
|
|
11
11
|
import sqlalchemy as sa
|
|
12
12
|
import typer
|
|
13
|
-
from rich import print
|
|
13
|
+
from rich import print as richprint
|
|
14
14
|
from rich.prompt import IntPrompt
|
|
15
15
|
from typing_extensions import Annotated, List
|
|
16
16
|
|
|
@@ -196,7 +196,7 @@ def init(
|
|
|
196
196
|
path.join(templates_dir, template), project_name, config_mode=config
|
|
197
197
|
)
|
|
198
198
|
except Exception as e:
|
|
199
|
-
|
|
199
|
+
richprint(f"[red]{e}[/red]")
|
|
200
200
|
|
|
201
201
|
|
|
202
202
|
def _resolve_project_name_and_template(
|
|
@@ -217,9 +217,9 @@ def _resolve_project_name_and_template(
|
|
|
217
217
|
if template not in templates:
|
|
218
218
|
raise Exception(f"Template {template} not found in {templates_dir}")
|
|
219
219
|
else:
|
|
220
|
-
|
|
220
|
+
richprint("\n[bold]Available templates:[/bold]")
|
|
221
221
|
for idx, template_name in enumerate(templates, 1):
|
|
222
|
-
|
|
222
|
+
richprint(f" {idx}. {template_name}")
|
|
223
223
|
while True:
|
|
224
224
|
try:
|
|
225
225
|
choice = IntPrompt.ask(
|
|
@@ -231,13 +231,13 @@ def _resolve_project_name_and_template(
|
|
|
231
231
|
template = templates[choice - 1]
|
|
232
232
|
break
|
|
233
233
|
else:
|
|
234
|
-
|
|
234
|
+
richprint(
|
|
235
235
|
"[red]Invalid selection. Please choose a number from the list.[/red]"
|
|
236
236
|
)
|
|
237
237
|
except (KeyboardInterrupt, EOFError):
|
|
238
238
|
raise typer.Abort()
|
|
239
239
|
except ValueError:
|
|
240
|
-
|
|
240
|
+
richprint("[red]Please enter a valid number.[/red]")
|
|
241
241
|
|
|
242
242
|
if template in git_templates:
|
|
243
243
|
if project_name is None:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
dbos-1.
|
|
2
|
-
dbos-1.
|
|
3
|
-
dbos-1.
|
|
4
|
-
dbos-1.
|
|
1
|
+
dbos-1.9.0.dist-info/METADATA,sha256=wk4ToDPZ7FqnLG5bFfQAoQE8ZVWMooq7PyDKskE8EVA,13265
|
|
2
|
+
dbos-1.9.0.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
|
|
3
|
+
dbos-1.9.0.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
|
|
4
|
+
dbos-1.9.0.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
|
|
5
5
|
dbos/__init__.py,sha256=NssPCubaBxdiKarOWa-wViz1hdJSkmBGcpLX_gQ4NeA,891
|
|
6
6
|
dbos/__main__.py,sha256=G7Exn-MhGrVJVDbgNlpzhfh8WMX_72t3_oJaFT9Lmt8,653
|
|
7
7
|
dbos/_admin_server.py,sha256=e8ELhcDWqR3_PNobnNgUvLGh5lzZq0yFSF6dvtzoQRI,16267
|
|
@@ -11,9 +11,9 @@ dbos/_client.py,sha256=6ReC_VF1JhscxtMjmjwJH_X7HV0L9Zoj_OiYhs4el40,15517
|
|
|
11
11
|
dbos/_conductor/conductor.py,sha256=3E_hL3c9g9yWqKZkvI6KA0-ZzPMPRo06TOzT1esMiek,24114
|
|
12
12
|
dbos/_conductor/protocol.py,sha256=q3rgLxINFtWFigdOONc-4gX4vn66UmMlJQD6Kj8LnL4,7420
|
|
13
13
|
dbos/_context.py,sha256=0vFtLAk3WF5BQYIYNFImDRBppKO2CTKOSy51zQC-Cu8,25723
|
|
14
|
-
dbos/_core.py,sha256=
|
|
14
|
+
dbos/_core.py,sha256=TA-UOSO_BhvM6L6j4__dwesK7x5Y93dk6mV1xx0WZBY,49593
|
|
15
15
|
dbos/_croniter.py,sha256=XHAyUyibs_59sJQfSNWkP7rqQY6_XrlfuuCxk4jYqek,47559
|
|
16
|
-
dbos/_dbos.py,sha256=
|
|
16
|
+
dbos/_dbos.py,sha256=LqE8ej317diZ5JjrXhndLwDr40E1Aw3SK1YPxC8-t3k,50902
|
|
17
17
|
dbos/_dbos_config.py,sha256=TWIbGCWl_8o3l0Y2IzrL1q9mTYl_vVeZDjYJMDXCPVU,21676
|
|
18
18
|
dbos/_debug.py,sha256=99j2SChWmCPAlZoDmjsJGe77tpU2LEa8E2TtLAnnh7o,1831
|
|
19
19
|
dbos/_docker_pg_helper.py,sha256=tLJXWqZ4S-ExcaPnxg_i6cVxL6ZxrYlZjaGsklY-s2I,6115
|
|
@@ -65,8 +65,8 @@ dbos/_utils.py,sha256=uywq1QrjMwy17btjxW4bES49povlQwYwYbvKwMT6C2U,1575
|
|
|
65
65
|
dbos/_workflow_commands.py,sha256=EmmAaQfRWeOZm_WPTznuU-O3he3jiSzzT9VpYrhxugE,4835
|
|
66
66
|
dbos/cli/_github_init.py,sha256=Y_bDF9gfO2jB1id4FV5h1oIxEJRWyqVjhb7bNEa5nQ0,3224
|
|
67
67
|
dbos/cli/_template_init.py,sha256=7JBcpMqP1r2mfCnvWatu33z8ctEGHJarlZYKgB83cXE,2972
|
|
68
|
-
dbos/cli/cli.py,sha256=
|
|
68
|
+
dbos/cli/cli.py,sha256=oU2uvRF90eAydQ9FoQcgi8N_Cojzz8NLn1WE-vrA1p0,22155
|
|
69
69
|
dbos/dbos-config.schema.json,sha256=CjaspeYmOkx6Ip_pcxtmfXJTn_YGdSx_0pcPBF7KZmo,6060
|
|
70
70
|
dbos/py.typed,sha256=QfzXT1Ktfk3Rj84akygc7_42z0lRpCq0Ilh8OXI6Zas,44
|
|
71
71
|
version/__init__.py,sha256=L4sNxecRuqdtSFdpUGX3TtBi9KL3k7YsZVIvv-fv9-A,1678
|
|
72
|
-
dbos-1.
|
|
72
|
+
dbos-1.9.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|