Skip to content

1.9.0

Latest
Compare
Choose a tag to compare
@dandavison dandavison released this 23 Dec 19:10
3901cb7

Get from PyPI

Highlights

Update-With-Start (experimental)

Update-with-start sends an update request and starts a workflow if necessary. A WorkflowIDConflictPolicy must be specified. If the workflow execution is not running, then a new workflow execution is started and the update is sent in the first workflow task. Alternatively, if the specified workflow execution is running then, if the WorkflowIDConflictPolicy is USE_EXISTING, the update is issued against the specified workflow, and if the WorkflowIDConflictPolicy is FAIL, an error is returned.

See the lazy_initialization sample

User Metadata (experimental)

When starting workflows (directly, via update with start, via schedules, or via child workflows), users can now set a static_summary and/or static_details option which may appear in the UI/CLI in the future. Similarly, users can provide summary to timers and activity invocations. Finally, users can invoke workflow.set_current_details with a string that can updated be throughout the life of the workflow based on the workflow's state. This value may also appear in the UI/CLI in the future. Values for summary or details can be in limited single-line or multi-line markdown format, respectively. This feature is currently experimental which means future releases can technically update the API in incompatible ways.

Custom Slot Suppliers in Worker Tuners (experimental)

Worker tuners can now be created with custom slot suppliers. By providing a class implementing CustomSlotSupplier to a worker tuner, users can now control logic of when slots are available for use by the worker. This allows advanced, dynamic control over in-process tuning for how many concurrent activities, local activities, and workflow tasks can run. This is an advanced feature and is currently experimental which means future releases can technically update the API in incompatible ways.

Specific Changes

2024-10-30 - 0b327b0 - Upgrade tonic to v0.12.3 to fix security vulnerability (#680)
2024-11-06 - 5b897b1 - Update Core / InitializeWorkflow (#683)
2024-11-06 - 723d234 - Include update info in logging output (#664)
2024-11-13 - 001ce8b - pyproject.toml: Removed protoc-wheel dependency (#684)
2024-11-20 - 042e088 - Custom slot suppliers (#690)
2024-11-22 - 853889c - Fix logic bug in create_schedule() re. backfills (#693)
2024-11-22 - 97a2b7a - Worker code cleanup (#692)
2024-12-03 - a90f6d4 - Slot info should be optional on release context (#695)
2024-12-06 - 173826f - Add limit to list workflows (#698)
2024-12-16 - 341d949 - User metadata (#701)
2024-12-19 - 540faeb - Update-with-start (#702)
2024-12-19 - 999c8f8 - Set run id in update handle (#705)
2024-12-19 - c44a6d8 - Update bug fix: prevent update from a stale workflow handle (#703)