dbos 1.3.0a4__py3-none-any.whl → 1.3.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.
- dbos/_client.py +7 -6
- dbos/_core.py +6 -9
- dbos/_dbos_config.py +1 -1
- dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py +30 -0
- dbos/_schemas/system_database.py +1 -15
- dbos/_sys_db.py +34 -97
- {dbos-1.3.0a4.dist-info → dbos-1.3.0a7.dist-info}/METADATA +1 -1
- {dbos-1.3.0a4.dist-info → dbos-1.3.0a7.dist-info}/RECORD +11 -10
- {dbos-1.3.0a4.dist-info → dbos-1.3.0a7.dist-info}/WHEEL +0 -0
- {dbos-1.3.0a4.dist-info → dbos-1.3.0a7.dist-info}/entry_points.txt +0 -0
- {dbos-1.3.0a4.dist-info → dbos-1.3.0a7.dist-info}/licenses/LICENSE +0 -0
dbos/_client.py
CHANGED
@@ -141,6 +141,11 @@ class DBOSClient:
|
|
141
141
|
"priority": options.get("priority"),
|
142
142
|
}
|
143
143
|
|
144
|
+
inputs: WorkflowInputs = {
|
145
|
+
"args": args,
|
146
|
+
"kwargs": kwargs,
|
147
|
+
}
|
148
|
+
|
144
149
|
status: WorkflowStatusInternal = {
|
145
150
|
"workflow_uuid": workflow_id,
|
146
151
|
"status": WorkflowStatusString.ENQUEUED.value,
|
@@ -169,16 +174,11 @@ class DBOSClient:
|
|
169
174
|
if enqueue_options_internal["priority"] is not None
|
170
175
|
else 0
|
171
176
|
),
|
172
|
-
|
173
|
-
|
174
|
-
inputs: WorkflowInputs = {
|
175
|
-
"args": args,
|
176
|
-
"kwargs": kwargs,
|
177
|
+
"inputs": _serialization.serialize_args(inputs),
|
177
178
|
}
|
178
179
|
|
179
180
|
self._sys_db.init_workflow(
|
180
181
|
status,
|
181
|
-
_serialization.serialize_args(inputs),
|
182
182
|
max_recovery_attempts=None,
|
183
183
|
)
|
184
184
|
return workflow_id
|
@@ -237,6 +237,7 @@ class DBOSClient:
|
|
237
237
|
"workflow_deadline_epoch_ms": None,
|
238
238
|
"deduplication_id": None,
|
239
239
|
"priority": 0,
|
240
|
+
"inputs": _serialization.serialize_args({"args": (), "kwargs": {}}),
|
240
241
|
}
|
241
242
|
with self._sys_db.engine.begin() as conn:
|
242
243
|
self._sys_db._insert_workflow_status(
|
dbos/_core.py
CHANGED
@@ -252,6 +252,10 @@ def _init_workflow(
|
|
252
252
|
raise DBOSNonExistentWorkflowError(wfid)
|
253
253
|
return get_status_result
|
254
254
|
|
255
|
+
# If we have a class name, the first arg is the instance and do not serialize
|
256
|
+
if class_name is not None:
|
257
|
+
inputs = {"args": inputs["args"][1:], "kwargs": inputs["kwargs"]}
|
258
|
+
|
255
259
|
# Initialize a workflow status object from the context
|
256
260
|
status: WorkflowStatusInternal = {
|
257
261
|
"workflow_uuid": wfid,
|
@@ -291,16 +295,12 @@ def _init_workflow(
|
|
291
295
|
if enqueue_options is not None
|
292
296
|
else 0
|
293
297
|
),
|
298
|
+
"inputs": _serialization.serialize_args(inputs),
|
294
299
|
}
|
295
300
|
|
296
|
-
# If we have a class name, the first arg is the instance and do not serialize
|
297
|
-
if class_name is not None:
|
298
|
-
inputs = {"args": inputs["args"][1:], "kwargs": inputs["kwargs"]}
|
299
|
-
|
300
301
|
# Synchronously record the status and inputs for workflows
|
301
302
|
wf_status, workflow_deadline_epoch_ms = dbos._sys_db.init_workflow(
|
302
303
|
status,
|
303
|
-
_serialization.serialize_args(inputs),
|
304
304
|
max_recovery_attempts=max_recovery_attempts,
|
305
305
|
)
|
306
306
|
|
@@ -441,16 +441,13 @@ def execute_workflow_by_id(dbos: "DBOS", workflow_id: str) -> "WorkflowHandle[An
|
|
441
441
|
status = dbos._sys_db.get_workflow_status(workflow_id)
|
442
442
|
if not status:
|
443
443
|
raise DBOSRecoveryError(workflow_id, "Workflow status not found")
|
444
|
-
inputs =
|
445
|
-
if not inputs:
|
446
|
-
raise DBOSRecoveryError(workflow_id, "Workflow inputs not found")
|
444
|
+
inputs = _serialization.deserialize_args(status["inputs"])
|
447
445
|
wf_func = dbos._registry.workflow_info_map.get(status["name"], None)
|
448
446
|
if not wf_func:
|
449
447
|
raise DBOSWorkflowFunctionNotFoundError(
|
450
448
|
workflow_id, "Workflow function not found"
|
451
449
|
)
|
452
450
|
with DBOSContextEnsure():
|
453
|
-
ctx = assert_current_dbos_context()
|
454
451
|
# If this function belongs to a configured class, add that class instance as its first argument
|
455
452
|
if status["config_name"] is not None:
|
456
453
|
config_name = status["config_name"]
|
dbos/_dbos_config.py
CHANGED
@@ -91,7 +91,7 @@ class ConfigFile(TypedDict, total=False):
|
|
91
91
|
Data structure containing the DBOS Configuration.
|
92
92
|
|
93
93
|
This configuration data is typically loaded from `dbos-config.yaml`.
|
94
|
-
See `https://docs.dbos.dev/
|
94
|
+
See `https://docs.dbos.dev/python/reference/configuration#dbos-configuration-file`
|
95
95
|
|
96
96
|
Attributes:
|
97
97
|
name (str): Application name
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"""consolidate_inputs
|
2
|
+
|
3
|
+
Revision ID: d994145b47b6
|
4
|
+
Revises: 66478e1b95e5
|
5
|
+
Create Date: 2025-05-23 08:09:15.515009
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
from typing import Sequence, Union
|
10
|
+
|
11
|
+
import sqlalchemy as sa
|
12
|
+
from alembic import op
|
13
|
+
|
14
|
+
# revision identifiers, used by Alembic.
|
15
|
+
revision: str = "d994145b47b6"
|
16
|
+
down_revision: Union[str, None] = "66478e1b95e5"
|
17
|
+
branch_labels: Union[str, Sequence[str], None] = None
|
18
|
+
depends_on: Union[str, Sequence[str], None] = None
|
19
|
+
|
20
|
+
|
21
|
+
def upgrade() -> None:
|
22
|
+
op.add_column(
|
23
|
+
"workflow_status",
|
24
|
+
sa.Column("inputs", sa.Text(), nullable=True),
|
25
|
+
schema="dbos",
|
26
|
+
)
|
27
|
+
|
28
|
+
|
29
|
+
def downgrade() -> None:
|
30
|
+
op.drop_column("workflow_status", "inputs", schema="dbos")
|
dbos/_schemas/system_database.py
CHANGED
@@ -58,6 +58,7 @@ class SystemSchema:
|
|
58
58
|
Column("workflow_deadline_epoch_ms", BigInteger, nullable=True),
|
59
59
|
Column("started_at_epoch_ms", BigInteger(), nullable=True),
|
60
60
|
Column("deduplication_id", Text(), nullable=True),
|
61
|
+
Column("inputs", Text()),
|
61
62
|
Column("priority", Integer(), nullable=False, server_default=text("'0'::int")),
|
62
63
|
Index("workflow_status_created_at_index", "created_at"),
|
63
64
|
Index("workflow_status_executor_id_index", "executor_id"),
|
@@ -88,21 +89,6 @@ class SystemSchema:
|
|
88
89
|
PrimaryKeyConstraint("workflow_uuid", "function_id"),
|
89
90
|
)
|
90
91
|
|
91
|
-
workflow_inputs = Table(
|
92
|
-
"workflow_inputs",
|
93
|
-
metadata_obj,
|
94
|
-
Column(
|
95
|
-
"workflow_uuid",
|
96
|
-
Text,
|
97
|
-
ForeignKey(
|
98
|
-
"workflow_status.workflow_uuid", onupdate="CASCADE", ondelete="CASCADE"
|
99
|
-
),
|
100
|
-
primary_key=True,
|
101
|
-
nullable=False,
|
102
|
-
),
|
103
|
-
Column("inputs", Text, nullable=False),
|
104
|
-
)
|
105
|
-
|
106
92
|
notifications = Table(
|
107
93
|
"notifications",
|
108
94
|
metadata_obj,
|
dbos/_sys_db.py
CHANGED
@@ -140,6 +140,8 @@ class WorkflowStatusInternal(TypedDict):
|
|
140
140
|
deduplication_id: Optional[str]
|
141
141
|
# Priority of the workflow on the queue, starting from 1 ~ 2,147,483,647. Default 0 (highest priority).
|
142
142
|
priority: int
|
143
|
+
# Serialized workflow inputs
|
144
|
+
inputs: str
|
143
145
|
|
144
146
|
|
145
147
|
class EnqueueOptionsInternal(TypedDict):
|
@@ -462,6 +464,7 @@ class SystemDatabase:
|
|
462
464
|
workflow_deadline_epoch_ms=status["workflow_deadline_epoch_ms"],
|
463
465
|
deduplication_id=status["deduplication_id"],
|
464
466
|
priority=status["priority"],
|
467
|
+
inputs=status["inputs"],
|
465
468
|
)
|
466
469
|
.on_conflict_do_update(
|
467
470
|
index_elements=["workflow_uuid"],
|
@@ -483,6 +486,8 @@ class SystemDatabase:
|
|
483
486
|
status["queue_name"],
|
484
487
|
status["deduplication_id"],
|
485
488
|
)
|
489
|
+
else:
|
490
|
+
raise
|
486
491
|
row = results.fetchone()
|
487
492
|
if row is not None:
|
488
493
|
# Check the started workflow matches the expected name, class_name, config_name, and queue_name
|
@@ -640,9 +645,6 @@ class SystemDatabase:
|
|
640
645
|
status = self.get_workflow_status(original_workflow_id)
|
641
646
|
if status is None:
|
642
647
|
raise Exception(f"Workflow {original_workflow_id} not found")
|
643
|
-
inputs = self.get_workflow_inputs(original_workflow_id)
|
644
|
-
if inputs is None:
|
645
|
-
raise Exception(f"Workflow {original_workflow_id} not found")
|
646
648
|
|
647
649
|
with self.engine.begin() as c:
|
648
650
|
# Create an entry for the forked workflow with the same
|
@@ -664,13 +666,7 @@ class SystemDatabase:
|
|
664
666
|
authenticated_roles=status["authenticated_roles"],
|
665
667
|
assumed_role=status["assumed_role"],
|
666
668
|
queue_name=INTERNAL_QUEUE_NAME,
|
667
|
-
|
668
|
-
)
|
669
|
-
# Copy the original workflow's inputs into the forked workflow
|
670
|
-
c.execute(
|
671
|
-
pg.insert(SystemSchema.workflow_inputs).values(
|
672
|
-
workflow_uuid=forked_workflow_id,
|
673
|
-
inputs=_serialization.serialize_args(inputs),
|
669
|
+
inputs=status["inputs"],
|
674
670
|
)
|
675
671
|
)
|
676
672
|
|
@@ -730,6 +726,7 @@ class SystemDatabase:
|
|
730
726
|
SystemSchema.workflow_status.c.workflow_timeout_ms,
|
731
727
|
SystemSchema.workflow_status.c.deduplication_id,
|
732
728
|
SystemSchema.workflow_status.c.priority,
|
729
|
+
SystemSchema.workflow_status.c.inputs,
|
733
730
|
).where(SystemSchema.workflow_status.c.workflow_uuid == workflow_uuid)
|
734
731
|
).fetchone()
|
735
732
|
if row is None:
|
@@ -756,6 +753,7 @@ class SystemDatabase:
|
|
756
753
|
"workflow_timeout_ms": row[15],
|
757
754
|
"deduplication_id": row[16],
|
758
755
|
"priority": row[17],
|
756
|
+
"inputs": row[18],
|
759
757
|
}
|
760
758
|
return status
|
761
759
|
|
@@ -786,53 +784,6 @@ class SystemDatabase:
|
|
786
784
|
pass # CB: I guess we're assuming the WF will show up eventually.
|
787
785
|
time.sleep(1)
|
788
786
|
|
789
|
-
def _update_workflow_inputs(
|
790
|
-
self, workflow_uuid: str, inputs: str, conn: sa.Connection
|
791
|
-
) -> None:
|
792
|
-
if self._debug_mode:
|
793
|
-
raise Exception("called update_workflow_inputs in debug mode")
|
794
|
-
|
795
|
-
cmd = (
|
796
|
-
pg.insert(SystemSchema.workflow_inputs)
|
797
|
-
.values(
|
798
|
-
workflow_uuid=workflow_uuid,
|
799
|
-
inputs=inputs,
|
800
|
-
)
|
801
|
-
.on_conflict_do_update(
|
802
|
-
index_elements=["workflow_uuid"],
|
803
|
-
set_=dict(workflow_uuid=SystemSchema.workflow_inputs.c.workflow_uuid),
|
804
|
-
)
|
805
|
-
.returning(SystemSchema.workflow_inputs.c.inputs)
|
806
|
-
)
|
807
|
-
|
808
|
-
row = conn.execute(cmd).fetchone()
|
809
|
-
if row is not None and row[0] != inputs:
|
810
|
-
# In a distributed environment, scheduled workflows are enqueued multiple times with slightly different timestamps
|
811
|
-
if not workflow_uuid.startswith("sched-"):
|
812
|
-
dbos_logger.warning(
|
813
|
-
f"Workflow {workflow_uuid} has been called multiple times with different inputs"
|
814
|
-
)
|
815
|
-
# TODO: actually changing the input
|
816
|
-
|
817
|
-
return
|
818
|
-
|
819
|
-
@db_retry()
|
820
|
-
def get_workflow_inputs(
|
821
|
-
self, workflow_uuid: str
|
822
|
-
) -> Optional[_serialization.WorkflowInputs]:
|
823
|
-
with self.engine.begin() as c:
|
824
|
-
row = c.execute(
|
825
|
-
sa.select(SystemSchema.workflow_inputs.c.inputs).where(
|
826
|
-
SystemSchema.workflow_inputs.c.workflow_uuid == workflow_uuid
|
827
|
-
)
|
828
|
-
).fetchone()
|
829
|
-
if row is None:
|
830
|
-
return None
|
831
|
-
inputs: _serialization.WorkflowInputs = _serialization.deserialize_args(
|
832
|
-
row[0]
|
833
|
-
)
|
834
|
-
return inputs
|
835
|
-
|
836
787
|
def get_workflows(self, input: GetWorkflowsInput) -> List[WorkflowStatus]:
|
837
788
|
"""
|
838
789
|
Retrieve a list of workflows result and inputs based on the input criteria. The result is a list of external-facing workflow status objects.
|
@@ -853,15 +804,11 @@ class SystemDatabase:
|
|
853
804
|
SystemSchema.workflow_status.c.updated_at,
|
854
805
|
SystemSchema.workflow_status.c.application_version,
|
855
806
|
SystemSchema.workflow_status.c.application_id,
|
856
|
-
SystemSchema.
|
807
|
+
SystemSchema.workflow_status.c.inputs,
|
857
808
|
SystemSchema.workflow_status.c.output,
|
858
809
|
SystemSchema.workflow_status.c.error,
|
859
810
|
SystemSchema.workflow_status.c.workflow_deadline_epoch_ms,
|
860
811
|
SystemSchema.workflow_status.c.workflow_timeout_ms,
|
861
|
-
).join(
|
862
|
-
SystemSchema.workflow_inputs,
|
863
|
-
SystemSchema.workflow_status.c.workflow_uuid
|
864
|
-
== SystemSchema.workflow_inputs.c.workflow_uuid,
|
865
812
|
)
|
866
813
|
if input.sort_desc:
|
867
814
|
query = query.order_by(SystemSchema.workflow_status.c.created_at.desc())
|
@@ -951,39 +898,31 @@ class SystemDatabase:
|
|
951
898
|
"""
|
952
899
|
Retrieve a list of queued workflows result and inputs based on the input criteria. The result is a list of external-facing workflow status objects.
|
953
900
|
"""
|
954
|
-
query = (
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
SystemSchema.
|
979
|
-
SystemSchema.workflow_status.c.workflow_uuid
|
980
|
-
== SystemSchema.workflow_inputs.c.workflow_uuid,
|
981
|
-
)
|
982
|
-
.where(
|
983
|
-
sa.and_(
|
984
|
-
SystemSchema.workflow_status.c.queue_name.isnot(None),
|
985
|
-
SystemSchema.workflow_status.c.status.in_(["ENQUEUED", "PENDING"]),
|
986
|
-
)
|
901
|
+
query = sa.select(
|
902
|
+
SystemSchema.workflow_status.c.workflow_uuid,
|
903
|
+
SystemSchema.workflow_status.c.status,
|
904
|
+
SystemSchema.workflow_status.c.name,
|
905
|
+
SystemSchema.workflow_status.c.recovery_attempts,
|
906
|
+
SystemSchema.workflow_status.c.config_name,
|
907
|
+
SystemSchema.workflow_status.c.class_name,
|
908
|
+
SystemSchema.workflow_status.c.authenticated_user,
|
909
|
+
SystemSchema.workflow_status.c.authenticated_roles,
|
910
|
+
SystemSchema.workflow_status.c.assumed_role,
|
911
|
+
SystemSchema.workflow_status.c.queue_name,
|
912
|
+
SystemSchema.workflow_status.c.executor_id,
|
913
|
+
SystemSchema.workflow_status.c.created_at,
|
914
|
+
SystemSchema.workflow_status.c.updated_at,
|
915
|
+
SystemSchema.workflow_status.c.application_version,
|
916
|
+
SystemSchema.workflow_status.c.application_id,
|
917
|
+
SystemSchema.workflow_status.c.inputs,
|
918
|
+
SystemSchema.workflow_status.c.output,
|
919
|
+
SystemSchema.workflow_status.c.error,
|
920
|
+
SystemSchema.workflow_status.c.workflow_deadline_epoch_ms,
|
921
|
+
SystemSchema.workflow_status.c.workflow_timeout_ms,
|
922
|
+
).where(
|
923
|
+
sa.and_(
|
924
|
+
SystemSchema.workflow_status.c.queue_name.isnot(None),
|
925
|
+
SystemSchema.workflow_status.c.status.in_(["ENQUEUED", "PENDING"]),
|
987
926
|
)
|
988
927
|
)
|
989
928
|
if input["sort_desc"]:
|
@@ -1893,7 +1832,6 @@ class SystemDatabase:
|
|
1893
1832
|
def init_workflow(
|
1894
1833
|
self,
|
1895
1834
|
status: WorkflowStatusInternal,
|
1896
|
-
inputs: str,
|
1897
1835
|
*,
|
1898
1836
|
max_recovery_attempts: Optional[int],
|
1899
1837
|
) -> tuple[WorkflowStatuses, Optional[int]]:
|
@@ -1904,7 +1842,6 @@ class SystemDatabase:
|
|
1904
1842
|
wf_status, workflow_deadline_epoch_ms = self._insert_workflow_status(
|
1905
1843
|
status, conn, max_recovery_attempts=max_recovery_attempts
|
1906
1844
|
)
|
1907
|
-
self._update_workflow_inputs(status["workflow_uuid"], inputs, conn)
|
1908
1845
|
return wf_status, workflow_deadline_epoch_ms
|
1909
1846
|
|
1910
1847
|
def check_connection(self) -> None:
|
@@ -1,20 +1,20 @@
|
|
1
|
-
dbos-1.3.
|
2
|
-
dbos-1.3.
|
3
|
-
dbos-1.3.
|
4
|
-
dbos-1.3.
|
1
|
+
dbos-1.3.0a7.dist-info/METADATA,sha256=niVru1hNRSgrq4e_MBCmWXBVzq0j3S80W_GClfpA6RE,13267
|
2
|
+
dbos-1.3.0a7.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
3
|
+
dbos-1.3.0a7.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
|
4
|
+
dbos-1.3.0a7.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=TWXi4drrzKFpKkUmEJpJkQBZxAtOalnhtYicEn2nDK0,10618
|
8
8
|
dbos/_app_db.py,sha256=0PKqpxJ3EbIaak3Wl0lNl3hXvhBfz4EEHaCw1bUOvIM,9937
|
9
9
|
dbos/_classproperty.py,sha256=f0X-_BySzn3yFDRKB2JpCbLYQ9tLwt1XftfshvY7CBs,626
|
10
|
-
dbos/_client.py,sha256=
|
10
|
+
dbos/_client.py,sha256=cQxw1Nbh_vKZ03lONt0EmUhwXBk3B3NczZrmfXXeefY,14667
|
11
11
|
dbos/_conductor/conductor.py,sha256=o0IaZjwnZ2TOyHeP2H4iSX6UnXLXQ4uODvWAKD9hHMs,21703
|
12
12
|
dbos/_conductor/protocol.py,sha256=wgOFZxmS81bv0WCB9dAyg0s6QzldpzVKQDoSPeaX0Ws,6967
|
13
13
|
dbos/_context.py,sha256=5ajoWAmToAfzzmMLylnJZoL4Ny9rBwZWuG05sXadMIA,24798
|
14
|
-
dbos/_core.py,sha256
|
14
|
+
dbos/_core.py,sha256=hvHKi31-3LG5yfWa-KhsnoFrXsV_eT-GeKIZFT4chx8,48533
|
15
15
|
dbos/_croniter.py,sha256=XHAyUyibs_59sJQfSNWkP7rqQY6_XrlfuuCxk4jYqek,47559
|
16
16
|
dbos/_dbos.py,sha256=Y---ozwd9OXzA1o-oWEbnafQkUibblE6o1kUuVZa_90,47163
|
17
|
-
dbos/_dbos_config.py,sha256=
|
17
|
+
dbos/_dbos_config.py,sha256=2CC1YR8lP9W-_NsMUMnTnW-v-70KN4XkbJEeNJ78RlQ,20373
|
18
18
|
dbos/_debug.py,sha256=MNlQVZ6TscGCRQeEEL0VE8Uignvr6dPeDDDefS3xgIE,1823
|
19
19
|
dbos/_docker_pg_helper.py,sha256=tLJXWqZ4S-ExcaPnxg_i6cVxL6ZxrYlZjaGsklY-s2I,6115
|
20
20
|
dbos/_error.py,sha256=q0OQJZTbR8FFHV9hEpAGpz9oWBT5L509zUhmyff7FJw,8500
|
@@ -36,6 +36,7 @@ dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py,sha256=yZX2kGF33skp
|
|
36
36
|
dbos/_migrations/versions/a3b18ad34abe_added_triggers.py,sha256=Rv0ZsZYZ_WdgGEULYsPfnp4YzaO5L198gDTgYY39AVA,2022
|
37
37
|
dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py,sha256=8PyFi8rd6CN-mUro43wGhsg5wcQWKZPRHD6jw8R5pVc,986
|
38
38
|
dbos/_migrations/versions/d76646551a6c_workflow_queue.py,sha256=G942nophZ2uC2vc4hGBC02Ptng1715roTjY3xiyzZU4,729
|
39
|
+
dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py,sha256=_J0jP247fuo66fzOmLlKFO9FJ_CRBXlqa2lnLrcXugQ,672
|
39
40
|
dbos/_migrations/versions/eab0cc1d9a14_job_queue.py,sha256=uvhFOtqbBreCePhAxZfIT0qCAI7BiZTou9wt6QnbY7c,1412
|
40
41
|
dbos/_migrations/versions/f4b9b32ba814_functionname_childid_op_outputs.py,sha256=m90Lc5YH0ZISSq1MyxND6oq3RZrZKrIqEsZtwJ1jWxA,1049
|
41
42
|
dbos/_outcome.py,sha256=EXxBg4jXCVJsByDQ1VOCIedmbeq_03S6d-p1vqQrLFU,6810
|
@@ -46,9 +47,9 @@ dbos/_roles.py,sha256=iOsgmIAf1XVzxs3gYWdGRe1B880YfOw5fpU7Jwx8_A8,2271
|
|
46
47
|
dbos/_scheduler.py,sha256=SR1oRZRcVzYsj-JauV2LA8JtwTkt8mru7qf6H1AzQ1U,2027
|
47
48
|
dbos/_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
49
|
dbos/_schemas/application_database.py,sha256=SypAS9l9EsaBHFn9FR8jmnqt01M74d9AF1AMa4m2hhI,1040
|
49
|
-
dbos/_schemas/system_database.py,sha256=
|
50
|
+
dbos/_schemas/system_database.py,sha256=rbFKggONdvvbb45InvGz0TM6a7c-Ux9dcaL-h_7Z7pU,4438
|
50
51
|
dbos/_serialization.py,sha256=bWuwhXSQcGmiazvhJHA5gwhrRWxtmFmcCFQSDJnqqkU,3666
|
51
|
-
dbos/_sys_db.py,sha256=
|
52
|
+
dbos/_sys_db.py,sha256=67z_K0aKH8M_oRs9c13zhp6skpT-sLAw8nYRBa3JM5w,77844
|
52
53
|
dbos/_templates/dbos-db-starter/README.md,sha256=GhxhBj42wjTt1fWEtwNriHbJuKb66Vzu89G4pxNHw2g,930
|
53
54
|
dbos/_templates/dbos-db-starter/__package/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
54
55
|
dbos/_templates/dbos-db-starter/__package/main.py.dbos,sha256=aQnBPSSQpkB8ERfhf7gB7P9tsU6OPKhZscfeh0yiaD8,2702
|
@@ -68,4 +69,4 @@ dbos/cli/cli.py,sha256=EemOMqNpzSU2BQhAxV_e59pBRITDLwt49HF6W3uWBZg,20775
|
|
68
69
|
dbos/dbos-config.schema.json,sha256=CjaspeYmOkx6Ip_pcxtmfXJTn_YGdSx_0pcPBF7KZmo,6060
|
69
70
|
dbos/py.typed,sha256=QfzXT1Ktfk3Rj84akygc7_42z0lRpCq0Ilh8OXI6Zas,44
|
70
71
|
version/__init__.py,sha256=L4sNxecRuqdtSFdpUGX3TtBi9KL3k7YsZVIvv-fv9-A,1678
|
71
|
-
dbos-1.3.
|
72
|
+
dbos-1.3.0a7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|