dbos 1.10.0a1__tar.gz → 1.10.0a2__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.
Potentially problematic release.
This version of dbos might be problematic. Click here for more details.
- {dbos-1.10.0a1 → dbos-1.10.0a2}/PKG-INFO +1 -1
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/cli/cli.py +39 -34
- {dbos-1.10.0a1 → dbos-1.10.0a2}/pyproject.toml +1 -1
- {dbos-1.10.0a1 → dbos-1.10.0a2}/LICENSE +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/README.md +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/__init__.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/__main__.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_admin_server.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_app_db.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_classproperty.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_client.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_conductor/conductor.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_conductor/protocol.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_context.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_core.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_croniter.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_dbos.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_dbos_config.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_debug.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_docker_pg_helper.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_error.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_event_loop.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_fastapi.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_flask.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_kafka.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_kafka_message.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_logger.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/env.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/script.py.mako +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/04ca4f231047_workflow_queues_executor_id.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/27ac6900c6ad_add_queue_dedup.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/66478e1b95e5_consolidate_queues.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/83f3732ae8e7_workflow_timeout.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/f4b9b32ba814_functionname_childid_op_outputs.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_outcome.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_queue.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_recovery.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_registrations.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_roles.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_scheduler.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_schemas/__init__.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_schemas/application_database.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_schemas/system_database.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_serialization.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_sys_db.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/README.md +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/__package/__init__.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/__package/main.py.dbos +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/__package/schema.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/alembic.ini +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/migrations/env.py.dbos +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/migrations/script.py.mako +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/migrations/versions/2024_07_31_180642_init.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_templates/dbos-db-starter/start_postgres_docker.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_tracer.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_utils.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_workflow_commands.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/cli/_github_init.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/cli/_template_init.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/dbos-config.schema.json +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/py.typed +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/__init__.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/atexit_no_ctor.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/atexit_no_launch.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/classdefs.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/client_collateral.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/client_worker.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/conftest.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/dupname_classdefs1.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/dupname_classdefsa.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/more_classdefs.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/queuedworkflow.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_admin_server.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_async.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_async_workflow_management.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_classdecorators.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_cli.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_client.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_concurrency.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_config.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_croniter.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_dbos.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_debug.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_docker_secrets.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_failures.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_fastapi.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_fastapi_roles.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_flask.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_kafka.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_outcome.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_package.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_queue.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_scheduler.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_schema_migration.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_singleton.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_spans.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_sqlalchemy.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_workflow_introspection.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/tests/test_workflow_management.py +0 -0
- {dbos-1.10.0a1 → dbos-1.10.0a2}/version/__init__.py +0 -0
|
@@ -260,11 +260,9 @@ def _resolve_project_name_and_template(
|
|
|
260
260
|
return project_name, template
|
|
261
261
|
|
|
262
262
|
|
|
263
|
-
@app.command(
|
|
264
|
-
help="Run your database schema migrations using the migration commands in 'dbos-config.yaml'"
|
|
265
|
-
)
|
|
263
|
+
@app.command(help="Create DBOS system tables.")
|
|
266
264
|
def migrate(
|
|
267
|
-
|
|
265
|
+
app_database_url: Annotated[
|
|
268
266
|
typing.Optional[str],
|
|
269
267
|
typer.Option(
|
|
270
268
|
"--db-url",
|
|
@@ -272,30 +270,34 @@ def migrate(
|
|
|
272
270
|
help="Your DBOS application database URL",
|
|
273
271
|
),
|
|
274
272
|
] = None,
|
|
275
|
-
|
|
273
|
+
system_database_url: Annotated[
|
|
276
274
|
typing.Optional[str],
|
|
277
275
|
typer.Option(
|
|
278
|
-
"--sys-db-
|
|
276
|
+
"--sys-db-url",
|
|
279
277
|
"-s",
|
|
280
|
-
help="
|
|
278
|
+
help="Your DBOS system database URL",
|
|
281
279
|
),
|
|
282
280
|
] = None,
|
|
283
281
|
) -> None:
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
282
|
+
app_database_url = _get_db_url(app_database_url)
|
|
283
|
+
system_database_url = get_system_database_url(
|
|
284
|
+
{
|
|
285
|
+
"system_database_url": system_database_url,
|
|
286
|
+
"database_url": app_database_url,
|
|
287
|
+
"database": {},
|
|
288
|
+
}
|
|
289
|
+
)
|
|
290
290
|
|
|
291
|
-
typer.echo(f"Starting
|
|
291
|
+
typer.echo(f"Starting DBOS migrations")
|
|
292
|
+
typer.echo(f"Application database: {sa.make_url(app_database_url)}")
|
|
293
|
+
typer.echo(f"System database: {sa.make_url(system_database_url)}")
|
|
292
294
|
|
|
293
295
|
# First, run DBOS migrations on the system database and the application database
|
|
294
296
|
app_db = None
|
|
295
297
|
sys_db = None
|
|
296
298
|
try:
|
|
297
299
|
sys_db = SystemDatabase(
|
|
298
|
-
system_database_url=
|
|
300
|
+
system_database_url=system_database_url,
|
|
299
301
|
engine_kwargs={
|
|
300
302
|
"pool_timeout": 30,
|
|
301
303
|
"max_overflow": 0,
|
|
@@ -303,7 +305,7 @@ def migrate(
|
|
|
303
305
|
},
|
|
304
306
|
)
|
|
305
307
|
app_db = ApplicationDatabase(
|
|
306
|
-
database_url=
|
|
308
|
+
database_url=app_database_url,
|
|
307
309
|
engine_kwargs={
|
|
308
310
|
"pool_timeout": 30,
|
|
309
311
|
"max_overflow": 0,
|
|
@@ -313,17 +315,19 @@ def migrate(
|
|
|
313
315
|
sys_db.run_migrations()
|
|
314
316
|
app_db.run_migrations()
|
|
315
317
|
except Exception as e:
|
|
316
|
-
typer.echo(f"DBOS
|
|
318
|
+
typer.echo(f"DBOS migrations failed: {e}")
|
|
319
|
+
raise typer.Exit(code=1)
|
|
317
320
|
finally:
|
|
318
321
|
if sys_db:
|
|
319
322
|
sys_db.destroy()
|
|
320
323
|
if app_db:
|
|
321
324
|
app_db.destroy()
|
|
322
325
|
|
|
326
|
+
typer.echo(f"DBOS migrations successful")
|
|
327
|
+
|
|
323
328
|
# Next, run any custom migration commands specified in the configuration
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
# handle the case where the user has not specified migrations commands
|
|
329
|
+
if os.path.exists("dbos-config.yaml"):
|
|
330
|
+
config = load_config(run_process_config=False, silent=True)
|
|
327
331
|
if "database" not in config:
|
|
328
332
|
config["database"] = {}
|
|
329
333
|
migrate_commands = (
|
|
@@ -331,20 +335,21 @@ def migrate(
|
|
|
331
335
|
if "migrate" in config["database"] and config["database"]["migrate"]
|
|
332
336
|
else []
|
|
333
337
|
)
|
|
334
|
-
|
|
335
|
-
typer.echo(
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
338
|
+
if migrate_commands:
|
|
339
|
+
typer.echo("Executing migration commands from 'dbos-config.yaml'")
|
|
340
|
+
try:
|
|
341
|
+
for command in migrate_commands:
|
|
342
|
+
typer.echo(f"Executing migration command: {command}")
|
|
343
|
+
result = subprocess.run(command, shell=True, text=True)
|
|
344
|
+
if result.returncode != 0:
|
|
345
|
+
typer.echo(f"Migration command failed: {command}")
|
|
346
|
+
typer.echo(result.stderr)
|
|
347
|
+
raise typer.Exit(1)
|
|
348
|
+
if result.stdout:
|
|
349
|
+
typer.echo(result.stdout.rstrip())
|
|
350
|
+
except Exception as e:
|
|
351
|
+
typer.echo(f"An error occurred during schema migration: {e}")
|
|
352
|
+
raise typer.Exit(code=1)
|
|
348
353
|
|
|
349
354
|
|
|
350
355
|
@app.command(help="Reset the DBOS system database")
|
|
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
|
{dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py
RENAMED
|
File without changes
|
{dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/66478e1b95e5_consolidate_queues.py
RENAMED
|
File without changes
|
|
File without changes
|
{dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dbos-1.10.0a1 → dbos-1.10.0a2}/dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py
RENAMED
|
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
|
|
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
|