azure-functions-durable 1.3.1__tar.gz → 1.3.3__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.
- {azure-functions-durable-1.3.1/azure_functions_durable.egg-info → azure-functions-durable-1.3.3}/PKG-INFO +1 -1
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationContext.py +33 -16
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3/azure_functions_durable.egg-info}/PKG-INFO +1 -1
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/SOURCES.txt +6 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/requires.txt +1 -1
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/requirements.txt +1 -1
- azure-functions-durable-1.3.3/samples/simple_sub_orchestration/.funcignore +5 -0
- azure-functions-durable-1.3.3/samples/simple_sub_orchestration/.gitignore +130 -0
- azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/README.md +44 -0
- azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/function_app.py +46 -0
- azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/host.json +16 -0
- azure-functions-durable-1.3.3/samples-v2/orchestration_versioning/requirements.txt +7 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/setup.py +1 -1
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationContext.py +8 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.devcontainer/devcontainer.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.devcontainer/setup.sh +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.flake8 +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/ISSUE_TEMPLATE/----feature-request.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/ISSUE_TEMPLATE/---bug-report.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/policies/resourceManagement.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/codeQL.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/durable_python_action.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/submodule-sync.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/validate.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/CHANGELOG.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/CODEOWNERS +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/CONTRIBUTING.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/LICENSE +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/MANIFEST.in +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/SECURITY.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/constants.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/durable_app.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/decorators/metadata.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/entity.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableEntityContext.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableHttpRequest.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationBindings.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationClient.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/DurableOrchestrationStatus.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/EntityStateResponse.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/FunctionContext.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/OrchestrationRuntimeStatus.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/OrchestratorState.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/PurgeHistoryResult.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/ReplaySchema.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/RetryOptions.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/RpcManagementOptions.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/Task.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/TaskOrchestrationExecutor.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/TokenSource.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/Action.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/ActionType.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallActivityAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallActivityWithRetryAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallEntityAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallHttpAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallSubOrchestratorAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CallSubOrchestratorWithRetryAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CompoundAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/ContinueAsNewAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/CreateTimerAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/NoOpAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/SignalEntityAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WaitForExternalEventAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WhenAllAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/WhenAnyAction.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/actions/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/EntityState.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/OperationResult.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/RequestMessage.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/ResponseMessage.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/Signal.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/entities/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/HistoryEvent.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/HistoryEventType.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/history/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/entity_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/http_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/models/utils/json_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/testing/OrchestratorGeneratorWrapper.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/testing/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure-pipelines-release.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure-pipelines.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/dependency_links.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure_functions_durable.egg-info/top_level.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/eng/ci/code-mirror.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/eng/ci/official-build.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/eng/templates/build.yml +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/noxfile.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_durable_orchestrator/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_durable_orchestrator/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_pipeline/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_pipeline/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_poll_status/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/aml_poll_status/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/extensions.csproj +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/aml_helper.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/shared/auth_helper.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/Counter/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/Counter/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableOrchestration/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableOrchestration/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableTrigger/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/DurableTrigger/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/RetrieveEntity/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/RetrieveEntity/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/counter_entity/requirements.txt +0 -0
- {azure-functions-durable-1.3.1/samples/function_chaining → azure-functions-durable-1.3.3/samples/fan_in_fan_out}/.funcignore +0 -0
- {azure-functions-durable-1.3.1/samples/function_chaining → azure-functions-durable-1.3.3/samples/fan_in_fan_out}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_BackupSiteContent/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_BackupSiteContent/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_CopyFileToBlob/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_CopyFileToBlob/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_GetFileList/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/E2_GetFileList/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/HttpStart/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/HttpStart/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/fan_in_fan_out/requirements.txt +0 -0
- {azure-functions-durable-1.3.1/samples/human_interaction → azure-functions-durable-1.3.3/samples/function_chaining}/.funcignore +0 -0
- {azure-functions-durable-1.3.1/samples/human_interaction → azure-functions-durable-1.3.3/samples/function_chaining}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_HelloSequence/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_HelloSequence/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_SayHello/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/E1_SayHello/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/HttpStart/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/HttpStart/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableActivity/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableActivity/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableOrchestration/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableOrchestration/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableTrigger/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/DurableTrigger/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/function_chaining_custom_status/requirements.txt +0 -0
- {azure-functions-durable-1.3.1/samples/monitor → azure-functions-durable-1.3.3/samples/human_interaction}/.funcignore +0 -0
- {azure-functions-durable-1.3.1/samples/monitor → azure-functions-durable-1.3.3/samples/human_interaction}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/E4_SMSPhoneVerification/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/E4_SMSPhoneVerification/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/HttpStart/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/HttpStart/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/SendSMSChallenge/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/SendSMSChallenge/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/human_interaction/requirements.txt +0 -0
- {azure-functions-durable-1.3.1/samples/simple_sub_orchestration → azure-functions-durable-1.3.3/samples/monitor}/.funcignore +0 -0
- {azure-functions-durable-1.3.1/samples/simple_sub_orchestration → azure-functions-durable-1.3.3/samples/monitor}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_Monitor/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_Monitor/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_SendAlert/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_SendAlert/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_TooManyOpenIssues/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/E3_TooManyOpenIssues/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/HttpStart/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/HttpStart/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/monitor/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableActivity/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableActivity/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableOrchestration/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableOrchestration/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableTrigger/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/DurableTrigger/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/serialize_arguments/shared_code/MyClasses.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableFunctionsHttpStart/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableFunctionsHttpStart/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableOrchestrator/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableOrchestrator/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableSubOrchestrator/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/DurableSubOrchestrator/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/Hello/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/Hello/function.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/local.settings.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/simple_sub_orchestration/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/durable_blueprints.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/function_app.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/readme.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_my_orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_say_hello.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/blueprint/tests/test_start_orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/function_app.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/readme.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_BackupSiteContent.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_CopyFileToBlob.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_E2_GetFileList.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/fan_in_fan_out/tests/test_HttpStart.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/.funcignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/README.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/function_app.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/host.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/proxies.json +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/requirements.txt +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/readme.md +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_http_start.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_my_orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples-v2/function_chaining/tests/test_say_hello.py +0 -0
- {azure-functions-durable-1.3.1/samples/fan_in_fan_out → azure-functions-durable-1.3.3/samples-v2/orchestration_versioning}/.funcignore +0 -0
- {azure-functions-durable-1.3.1/samples/fan_in_fan_out → azure-functions-durable-1.3.3/samples-v2/orchestration_versioning}/.gitignore +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/scripts/sample_deploy.sh +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/setup.cfg +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/conftest.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_DecoratorMetadata.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_Decorators.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationBindings.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationClient.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_DurableOrchestrationStatus.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_OrchestrationState.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_RpcManagementOptions.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/models/test_TokenSource.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/models/OrchestrationInstance.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/orchestrator_test_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/schemas/OrchetrationStateSchema.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_call_http.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_continue_as_new.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_create_timer.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_entity.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_external_event.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_fan_out_fan_in.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_is_replaying_flag.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_retries.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator_custom_status.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sequential_orchestrator_with_retry.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_serialization.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sub_orchestrator.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_sub_orchestrator_with_retry.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/orchestrator/test_task_any.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/tasks/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/tasks/tasks_test_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/tasks/test_long_timers.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/tasks/test_new_uuid.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_constants.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/ContextBuilder.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/EntityContextBuilder.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/constants.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/json_utils.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/test_utils/testClasses.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/utils/__init__.py +0 -0
- {azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/tests/utils/test_entity_utils.py +0 -0
|
@@ -100,6 +100,8 @@ class DurableOrchestrationContext:
|
|
|
100
100
|
self.open_tasks = defaultdict(list)
|
|
101
101
|
self.deferred_tasks: Dict[Union[int, str], Tuple[HistoryEvent, bool, str]] = {}
|
|
102
102
|
|
|
103
|
+
self._version: str = self._extract_version_from_history(self._histories)
|
|
104
|
+
|
|
103
105
|
@classmethod
|
|
104
106
|
def from_json(cls, json_string: str):
|
|
105
107
|
"""Convert the value passed into a new instance of the class.
|
|
@@ -600,22 +602,15 @@ class DurableOrchestrationContext:
|
|
|
600
602
|
TaskBase
|
|
601
603
|
A Durable Timer Task that schedules the timer to wake up the activity
|
|
602
604
|
"""
|
|
603
|
-
if self._replay_schema.value >= ReplaySchema.V3.value
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
"https://github.com/Azure/azure-functions-durable-python/issues\n"
|
|
613
|
-
f"maximumShortTimerDuration: {self._maximum_short_timer_duration}\n"
|
|
614
|
-
f"longRunningTimerIntervalDuration: {self._long_timer_interval_duration}"
|
|
615
|
-
)
|
|
616
|
-
if fire_at > self.current_utc_datetime + self._maximum_short_timer_duration:
|
|
617
|
-
action = CreateTimerAction(fire_at)
|
|
618
|
-
return LongTimerTask(None, action, self)
|
|
605
|
+
if (self._replay_schema.value >= ReplaySchema.V3.value
|
|
606
|
+
and self._maximum_short_timer_duration
|
|
607
|
+
and self._long_timer_interval_duration
|
|
608
|
+
and fire_at > self.current_utc_datetime + self._maximum_short_timer_duration):
|
|
609
|
+
# Timer duration config values are not provided for DTS or MSSQL, so skip the
|
|
610
|
+
# LongTimerTask and create the TimerTask as normal
|
|
611
|
+
|
|
612
|
+
action = CreateTimerAction(fire_at)
|
|
613
|
+
return LongTimerTask(None, action, self)
|
|
619
614
|
|
|
620
615
|
action = CreateTimerAction(fire_at)
|
|
621
616
|
task = self._generate_task(action, task_constructor=TimerTask)
|
|
@@ -759,3 +754,25 @@ class DurableOrchestrationContext:
|
|
|
759
754
|
"https://github.com/Azure/azure-functions-durable-python.\n"\
|
|
760
755
|
"Error trace: " + e.message
|
|
761
756
|
raise e
|
|
757
|
+
|
|
758
|
+
@property
|
|
759
|
+
def version(self) -> Optional[str]:
|
|
760
|
+
"""Get the version assigned to the orchestration instance on creation.
|
|
761
|
+
|
|
762
|
+
Returns
|
|
763
|
+
-------
|
|
764
|
+
Optional[str]
|
|
765
|
+
The version assigned to the orchestration instance on creation, or None if not found.
|
|
766
|
+
"""
|
|
767
|
+
return self._version
|
|
768
|
+
|
|
769
|
+
@staticmethod
|
|
770
|
+
def _extract_version_from_history(history_events: List[HistoryEvent]) -> Optional[str]:
|
|
771
|
+
"""Extract the version from the execution started event in history.
|
|
772
|
+
|
|
773
|
+
Returns None if not found.
|
|
774
|
+
"""
|
|
775
|
+
for event in history_events:
|
|
776
|
+
if event.event_type == HistoryEventType.EXECUTION_STARTED:
|
|
777
|
+
return event.Version
|
|
778
|
+
return None
|
|
@@ -121,6 +121,12 @@ samples-v2/function_chaining/tests/readme.md
|
|
|
121
121
|
samples-v2/function_chaining/tests/test_http_start.py
|
|
122
122
|
samples-v2/function_chaining/tests/test_my_orchestrator.py
|
|
123
123
|
samples-v2/function_chaining/tests/test_say_hello.py
|
|
124
|
+
samples-v2/orchestration_versioning/.funcignore
|
|
125
|
+
samples-v2/orchestration_versioning/.gitignore
|
|
126
|
+
samples-v2/orchestration_versioning/README.md
|
|
127
|
+
samples-v2/orchestration_versioning/function_app.py
|
|
128
|
+
samples-v2/orchestration_versioning/host.json
|
|
129
|
+
samples-v2/orchestration_versioning/requirements.txt
|
|
124
130
|
samples/aml_monitoring/.funcignore
|
|
125
131
|
samples/aml_monitoring/.gitignore
|
|
126
132
|
samples/aml_monitoring/extensions.csproj
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
pip-wheel-metadata/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
.coverage
|
|
45
|
+
.coverage.*
|
|
46
|
+
.cache
|
|
47
|
+
nosetests.xml
|
|
48
|
+
coverage.xml
|
|
49
|
+
*.cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
|
|
53
|
+
# Translations
|
|
54
|
+
*.mo
|
|
55
|
+
*.pot
|
|
56
|
+
|
|
57
|
+
# Django stuff:
|
|
58
|
+
*.log
|
|
59
|
+
local_settings.py
|
|
60
|
+
db.sqlite3
|
|
61
|
+
|
|
62
|
+
# Flask stuff:
|
|
63
|
+
instance/
|
|
64
|
+
.webassets-cache
|
|
65
|
+
|
|
66
|
+
# Scrapy stuff:
|
|
67
|
+
.scrapy
|
|
68
|
+
|
|
69
|
+
# Sphinx documentation
|
|
70
|
+
docs/_build/
|
|
71
|
+
|
|
72
|
+
# PyBuilder
|
|
73
|
+
target/
|
|
74
|
+
|
|
75
|
+
# Jupyter Notebook
|
|
76
|
+
.ipynb_checkpoints
|
|
77
|
+
|
|
78
|
+
# IPython
|
|
79
|
+
profile_default/
|
|
80
|
+
ipython_config.py
|
|
81
|
+
|
|
82
|
+
# pyenv
|
|
83
|
+
.python-version
|
|
84
|
+
|
|
85
|
+
# pipenv
|
|
86
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
87
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
88
|
+
# having no cross-platform support, pipenv may install dependencies that don’t work, or not
|
|
89
|
+
# install all needed dependencies.
|
|
90
|
+
#Pipfile.lock
|
|
91
|
+
|
|
92
|
+
# celery beat schedule file
|
|
93
|
+
celerybeat-schedule
|
|
94
|
+
|
|
95
|
+
# SageMath parsed files
|
|
96
|
+
*.sage.py
|
|
97
|
+
|
|
98
|
+
# Environments
|
|
99
|
+
.env
|
|
100
|
+
.venv
|
|
101
|
+
env/
|
|
102
|
+
venv/
|
|
103
|
+
ENV/
|
|
104
|
+
env.bak/
|
|
105
|
+
venv.bak/
|
|
106
|
+
|
|
107
|
+
# Spyder project settings
|
|
108
|
+
.spyderproject
|
|
109
|
+
.spyproject
|
|
110
|
+
|
|
111
|
+
# Rope project settings
|
|
112
|
+
.ropeproject
|
|
113
|
+
|
|
114
|
+
# mkdocs documentation
|
|
115
|
+
/site
|
|
116
|
+
|
|
117
|
+
# mypy
|
|
118
|
+
.mypy_cache/
|
|
119
|
+
.dmypy.json
|
|
120
|
+
dmypy.json
|
|
121
|
+
|
|
122
|
+
# Pyre type checker
|
|
123
|
+
.pyre/
|
|
124
|
+
|
|
125
|
+
# Azure Functions artifacts
|
|
126
|
+
bin
|
|
127
|
+
obj
|
|
128
|
+
appsettings.json
|
|
129
|
+
local.settings.json
|
|
130
|
+
.python_packages
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Versioning
|
|
2
|
+
|
|
3
|
+
This directory contains a Function app that demonstrates how to make changes to an orchestrator function without breaking existing orchestration instances.
|
|
4
|
+
|
|
5
|
+
The orchestrator function has two code paths:
|
|
6
|
+
|
|
7
|
+
1. The old path invoking `activity_a`.
|
|
8
|
+
2. The new path invoking `activity_b` instead.
|
|
9
|
+
|
|
10
|
+
While `defaultVersion` in `host.json` is set to `1.0`, the orchestrator will always follow the first path, producing the following output:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Orchestration version: 1.0
|
|
14
|
+
Suborchestration version: 1.0
|
|
15
|
+
Hello from A!
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
When `defaultVersion` in `host.json` is updated (for example, to `2.0`), *new orchestration instances* will follow the new path, producing the following output:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Orchestration version: 2.0
|
|
22
|
+
Suborchestration version: 2.0
|
|
23
|
+
Hello from B!
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
What happens to *existing orchestration instances* that were started *before* the `defaultVersion` change? Waiting for an external event in the middle of the orchestrator provides a convenient opportunity to emulate a deployment while orchestration instances are still running:
|
|
27
|
+
|
|
28
|
+
1. Create a new orchestration by invoking the HTTP trigger (`http_start`).
|
|
29
|
+
2. Wait for the orchestration to reach the point where it is waiting for an external event.
|
|
30
|
+
3. Stop the app.
|
|
31
|
+
4. Change `defaultVersion` in `host.json` to `2.0`.
|
|
32
|
+
5. Deploy and start the updated app.
|
|
33
|
+
6. Trigger the external event.
|
|
34
|
+
7. Observe that the orchestration output.
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Orchestration version: 1.0
|
|
38
|
+
Suborchestration version: 2.0
|
|
39
|
+
Hello from A!
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Note that the value returned by `context.version` is permanently associated with the orchestrator instance and is not impacted by the `defaultVersion` change. As a result, the orchestrator follows the old execution path to guarantee deterministic replay behavior.
|
|
43
|
+
|
|
44
|
+
However, the suborchestration version is `2.0` because this suborchestration was created *after* the `defaultVersion` change.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import azure.functions as func
|
|
3
|
+
import azure.durable_functions as df
|
|
4
|
+
|
|
5
|
+
myApp = df.DFApp(http_auth_level=func.AuthLevel.ANONYMOUS)
|
|
6
|
+
|
|
7
|
+
@myApp.route(route="orchestrators/{functionName}")
|
|
8
|
+
@myApp.durable_client_input(client_name="client")
|
|
9
|
+
async def http_start(req: func.HttpRequest, client):
|
|
10
|
+
function_name = req.route_params.get('functionName')
|
|
11
|
+
instance_id = await client.start_new(function_name)
|
|
12
|
+
|
|
13
|
+
logging.info(f"Started orchestration with ID = '{instance_id}'.")
|
|
14
|
+
return client.create_check_status_response(req, instance_id)
|
|
15
|
+
|
|
16
|
+
@myApp.orchestration_trigger(context_name="context")
|
|
17
|
+
def my_orchestrator(context: df.DurableOrchestrationContext):
|
|
18
|
+
# context.version contains the value of defaultVersion in host.json
|
|
19
|
+
# at the moment when the orchestration was created.
|
|
20
|
+
if (context.version == "1.0"):
|
|
21
|
+
# Legacy code path
|
|
22
|
+
activity_result = yield context.call_activity('activity_a')
|
|
23
|
+
else:
|
|
24
|
+
# New code path
|
|
25
|
+
activity_result = yield context.call_activity('activity_b')
|
|
26
|
+
|
|
27
|
+
# Provide an opportunity to update and restart the app
|
|
28
|
+
context.set_custom_status("Waiting for Continue event...")
|
|
29
|
+
yield context.wait_for_external_event("Continue")
|
|
30
|
+
context.set_custom_status("Continue event received")
|
|
31
|
+
|
|
32
|
+
# New sub-orchestrations will use the current defaultVersion specified in host.json
|
|
33
|
+
sub_result = yield context.call_sub_orchestrator('my_sub_orchestrator')
|
|
34
|
+
return [f'Orchestration version: {context.version}', f'Suborchestration version: {sub_result}', activity_result]
|
|
35
|
+
|
|
36
|
+
@myApp.orchestration_trigger(context_name="context")
|
|
37
|
+
def my_sub_orchestrator(context: df.DurableOrchestrationContext):
|
|
38
|
+
return context.version
|
|
39
|
+
|
|
40
|
+
@myApp.activity_trigger()
|
|
41
|
+
def activity_a() -> str:
|
|
42
|
+
return f"Hello from A!"
|
|
43
|
+
|
|
44
|
+
@myApp.activity_trigger()
|
|
45
|
+
def activity_b() -> str:
|
|
46
|
+
return f"Hello from B!"
|
|
@@ -100,3 +100,11 @@ def test_get_input_json_str():
|
|
|
100
100
|
result = context.get_input()
|
|
101
101
|
|
|
102
102
|
assert 'Seattle' == result['city']
|
|
103
|
+
|
|
104
|
+
def test_version_equals_version_from_execution_started_event():
|
|
105
|
+
builder = ContextBuilder('test_function_context')
|
|
106
|
+
builder.history_events = []
|
|
107
|
+
builder.add_orchestrator_started_event()
|
|
108
|
+
builder.add_execution_started_event(name="TestOrchestrator", version="1.0")
|
|
109
|
+
context = DurableOrchestrationContext.from_json(builder.to_json_string())
|
|
110
|
+
assert context.version == "1.0"
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.devcontainer/devcontainer.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/codeQL.yml
RENAMED
|
File without changes
|
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/submodule-sync.yml
RENAMED
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/.github/workflows/validate.yml
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
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/__init__.py
RENAMED
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/azure/durable_functions/entity.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
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.funcignore
RENAMED
|
File without changes
|
{azure-functions-durable-1.3.1 → azure-functions-durable-1.3.3}/samples/aml_monitoring/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|