dbos 0.28.0a15__tar.gz → 0.28.0a18__tar.gz

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.
Files changed (105) hide show
  1. {dbos-0.28.0a15 → dbos-0.28.0a18}/PKG-INFO +1 -1
  2. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_logger.py +2 -1
  3. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_registrations.py +1 -1
  4. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_sys_db.py +1 -1
  5. {dbos-0.28.0a15 → dbos-0.28.0a18}/pyproject.toml +1 -1
  6. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_workflow_management.py +5 -0
  7. {dbos-0.28.0a15 → dbos-0.28.0a18}/LICENSE +0 -0
  8. {dbos-0.28.0a15 → dbos-0.28.0a18}/README.md +0 -0
  9. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/__init__.py +0 -0
  10. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/__main__.py +0 -0
  11. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_admin_server.py +0 -0
  12. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_app_db.py +0 -0
  13. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_classproperty.py +0 -0
  14. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_client.py +0 -0
  15. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_conductor/conductor.py +0 -0
  16. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_conductor/protocol.py +0 -0
  17. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_context.py +0 -0
  18. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_core.py +0 -0
  19. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_croniter.py +0 -0
  20. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_dbos.py +0 -0
  21. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_dbos_config.py +0 -0
  22. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_debug.py +0 -0
  23. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_docker_pg_helper.py +0 -0
  24. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_error.py +0 -0
  25. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_event_loop.py +0 -0
  26. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_fastapi.py +0 -0
  27. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_flask.py +0 -0
  28. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_kafka.py +0 -0
  29. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_kafka_message.py +0 -0
  30. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/env.py +0 -0
  31. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/script.py.mako +0 -0
  32. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/04ca4f231047_workflow_queues_executor_id.py +0 -0
  33. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/27ac6900c6ad_add_queue_dedup.py +0 -0
  34. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
  35. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
  36. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/83f3732ae8e7_workflow_timeout.py +0 -0
  37. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py +0 -0
  38. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
  39. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
  40. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
  41. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
  42. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_migrations/versions/f4b9b32ba814_functionname_childid_op_outputs.py +0 -0
  43. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_outcome.py +0 -0
  44. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_queue.py +0 -0
  45. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_recovery.py +0 -0
  46. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_roles.py +0 -0
  47. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_scheduler.py +0 -0
  48. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_schemas/__init__.py +0 -0
  49. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_schemas/application_database.py +0 -0
  50. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_schemas/system_database.py +0 -0
  51. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_serialization.py +0 -0
  52. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/README.md +0 -0
  53. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/__package/__init__.py +0 -0
  54. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/__package/main.py.dbos +0 -0
  55. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/__package/schema.py +0 -0
  56. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/alembic.ini +0 -0
  57. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos +0 -0
  58. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/migrations/env.py.dbos +0 -0
  59. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/migrations/script.py.mako +0 -0
  60. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/migrations/versions/2024_07_31_180642_init.py +0 -0
  61. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_templates/dbos-db-starter/start_postgres_docker.py +0 -0
  62. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_tracer.py +0 -0
  63. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_utils.py +0 -0
  64. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/_workflow_commands.py +0 -0
  65. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/cli/_github_init.py +0 -0
  66. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/cli/_template_init.py +0 -0
  67. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/cli/cli.py +0 -0
  68. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/dbos-config.schema.json +0 -0
  69. {dbos-0.28.0a15 → dbos-0.28.0a18}/dbos/py.typed +0 -0
  70. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/__init__.py +0 -0
  71. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/atexit_no_ctor.py +0 -0
  72. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/atexit_no_launch.py +0 -0
  73. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/classdefs.py +0 -0
  74. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/client_collateral.py +0 -0
  75. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/client_worker.py +0 -0
  76. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/conftest.py +0 -0
  77. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/dupname_classdefs1.py +0 -0
  78. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/dupname_classdefsa.py +0 -0
  79. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/more_classdefs.py +0 -0
  80. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/queuedworkflow.py +0 -0
  81. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_admin_server.py +0 -0
  82. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_async.py +0 -0
  83. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_classdecorators.py +0 -0
  84. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_client.py +0 -0
  85. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_concurrency.py +0 -0
  86. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_config.py +0 -0
  87. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_croniter.py +0 -0
  88. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_dbos.py +0 -0
  89. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_debug.py +0 -0
  90. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_docker_secrets.py +0 -0
  91. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_failures.py +0 -0
  92. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_fastapi.py +0 -0
  93. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_fastapi_roles.py +0 -0
  94. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_flask.py +0 -0
  95. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_kafka.py +0 -0
  96. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_outcome.py +0 -0
  97. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_package.py +0 -0
  98. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_queue.py +0 -0
  99. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_scheduler.py +0 -0
  100. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_schema_migration.py +0 -0
  101. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_singleton.py +0 -0
  102. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_spans.py +0 -0
  103. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_sqlalchemy.py +0 -0
  104. {dbos-0.28.0a15 → dbos-0.28.0a18}/tests/test_workflow_introspection.py +0 -0
  105. {dbos-0.28.0a15 → dbos-0.28.0a18}/version/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 0.28.0a15
3
+ Version: 0.28.0a18
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -7,6 +7,7 @@ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
7
7
  from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
8
8
  from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
9
9
  from opentelemetry.sdk.resources import Resource
10
+ from opentelemetry.semconv.resource import ResourceAttributes
10
11
  from opentelemetry.trace.span import format_trace_id
11
12
 
12
13
  from dbos._utils import GlobalParams
@@ -77,7 +78,7 @@ def config_logger(config: "ConfigFile") -> None:
77
78
  log_provider = PatchedOTLPLoggerProvider(
78
79
  Resource.create(
79
80
  attributes={
80
- "service.name": "dbos-application",
81
+ ResourceAttributes.SERVICE_NAME: config["name"],
81
82
  }
82
83
  )
83
84
  )
@@ -4,7 +4,7 @@ from enum import Enum
4
4
  from types import FunctionType
5
5
  from typing import Any, Callable, List, Literal, Optional, Tuple, Type, cast
6
6
 
7
- DEFAULT_MAX_RECOVERY_ATTEMPTS = 50
7
+ DEFAULT_MAX_RECOVERY_ATTEMPTS = 100
8
8
 
9
9
 
10
10
  def get_dbos_func_name(f: Any) -> str:
@@ -41,7 +41,6 @@ from ._error import (
41
41
  DBOSWorkflowConflictIDError,
42
42
  )
43
43
  from ._logger import dbos_logger
44
- from ._registrations import DEFAULT_MAX_RECOVERY_ATTEMPTS
45
44
  from ._schemas.system_database import SystemSchema
46
45
 
47
46
  if TYPE_CHECKING:
@@ -544,6 +543,7 @@ class SystemDatabase:
544
543
  .where(SystemSchema.workflow_status.c.workflow_uuid == workflow_id)
545
544
  .values(
546
545
  status=WorkflowStatusString.ENQUEUED.value,
546
+ queue_name=INTERNAL_QUEUE_NAME,
547
547
  recovery_attempts=0,
548
548
  workflow_deadline_epoch_ms=None,
549
549
  )
@@ -27,7 +27,7 @@ dependencies = [
27
27
  ]
28
28
  requires-python = ">=3.9"
29
29
  readme = "README.md"
30
- version = "0.28.0a15"
30
+ version = "0.28.0a18"
31
31
 
32
32
  [project.license]
33
33
  text = "MIT"
@@ -55,6 +55,7 @@ def test_cancel_resume(dbos: DBOS) -> None:
55
55
  # Resume the workflow. Verify it completes successfully.
56
56
  handle = DBOS.resume_workflow(wfid)
57
57
  assert handle.get_status().app_version == GlobalParams.app_version
58
+ assert handle.get_status().queue_name == INTERNAL_QUEUE_NAME
58
59
  assert handle.get_result() == input
59
60
  assert steps_completed == 2
60
61
 
@@ -63,6 +64,8 @@ def test_cancel_resume(dbos: DBOS) -> None:
63
64
  assert handle.get_result() == input
64
65
  assert steps_completed == 2
65
66
 
67
+ assert queue_entries_are_cleaned_up(dbos)
68
+
66
69
 
67
70
  def test_cancel_resume_txn(dbos: DBOS) -> None:
68
71
  txn_completed = 0
@@ -627,6 +630,8 @@ def test_fork_version(
627
630
  new_version = "my_new_version"
628
631
  handle = DBOS.fork_workflow(workflow_id, 2, application_version=new_version)
629
632
  assert handle.get_status().app_version == new_version
633
+ assert handle.get_status().queue_name == INTERNAL_QUEUE_NAME
630
634
  # Set the global version to this new version, verify the workflow completes
631
635
  GlobalParams.app_version = new_version
632
636
  assert handle.get_result() == output
637
+ assert queue_entries_are_cleaned_up(dbos)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes