Commit graph

5311 commits

Author SHA1 Message Date
Raymond den Haan eb89f78632 Update retry configuration to retry up to 4 minutes 2025-03-05 14:52:30 +01:00
raymonddenhaan 40a12a623a
Merge pull request #6466 from elsa-workflows/blueberry-all-http-status
Simplify HttpRequestException handling in retry logic.
2025-03-03 16:51:56 +01:00
Sipke Schoorstra f71fbd23c7
Simplify HttpRequestException handling in retry logic.
Replaced specific transient status code check for HttpRequestException with a more generalized handling approach. This ensures all HTTP exceptions are retried, improving robustness and simplifying the logic.
2025-03-03 16:47:06 +01:00
Sipke Schoorstra 966ee3c160
Merge pull request #6465 from elsa-workflows/blueberry-update-resilience
Revise retry policy
2025-03-03 11:05:30 +01:00
Sipke Schoorstra 7b4cb375de
Adjust timeout and backoff calculations in HTTP pipeline.
Updated comments to correct total delay and grace period calculations for clarity and accuracy. This ensures consistency in expected retry behavior and improves maintainability.
2025-03-03 11:05:16 +01:00
Sipke Schoorstra 96075cca99
Add reference to Polly retry documentation in comments
Added a link to the Polly retry strategy documentation for clarity and future reference within the resiliency pipeline builder code. This improves code maintainability and helps developers quickly access relevant information.
2025-03-03 10:55:13 +01:00
Sipke Schoorstra ed5649091d
Reduce retry attempts and adjust timeout configuration
Lowered MaxRetryAttempts from 6 to 4 and reduced the outer timeout to 60 seconds to align with the updated exponential backoff total of 32 seconds. These changes aim to improve efficiency and reduce unnecessary waiting time during transient failures.
2025-03-03 10:53:32 +01:00
Sipke Schoorstra 9d19db09cf
Increase retry attempts and adjust delay/backoff configuration.
Updated the retry logic by increasing the max retry attempts from 4 to 6 and reducing the delay per attempt to 1 second. Adjusted the outer timeout to accommodate the new backoff configuration, allowing for a longer retry grace period.
2025-03-03 10:34:55 +01:00
Sipke Schoorstra c777add558
Update retry logic and timeout settings for HTTP requests
Increased max retry attempts to 4, removed jitter, and adjusted delay and backoff settings for clearer and more predictable behavior. Extended outer timeout to align with retry duration and added 409 Conflict to transient errors. Simplified logic for identifying transient network failures.
2025-03-03 10:30:39 +01:00
Sipke Schoorstra 7145eae294
Merge pull request #6447 from elsa-workflows/enh/send-http-request-activity-resilience
Add Resiliency to HTTP Request Activity
2025-02-25 15:41:24 +01:00
Sipke Schoorstra f45388fbfc
Remove unnecessary whitespace in SendHttpRequestBase.cs
Cleaned up extra blank lines in the code to improve readability and maintain consistent formatting. These changes do not impact functionality or behavior of the code.
2025-02-24 22:32:32 +01:00
Sipke Schoorstra 6ba50020fe
Add HTTP resiliency support using Polly and pipeline builder
Introduce configurable resiliency mechanisms for HTTP requests, including retries, circuit breakers, and timeouts, leveraging Microsoft.Extensions.Resilience and Polly. Refactor `SendHttpRequestBase` to include an `EnableResiliency` input and encapsulate resiliency logic in a dedicated pipeline. Update project references to include necessary dependencies.
2025-02-24 22:30:56 +01:00
Sipke Schoorstra a24ca0435f
Refactor projects to target .NET 8.0 exclusively.
Dropped support for .NET 6.0 and .NET 7.0 by removing multi-targeting configurations. Updated dependencies to use versions compatible with .NET 8.0, ensuring consistency across all projects. This simplifies maintenance and aligns with the latest .NET standards.
2025-02-24 22:29:51 +01:00
Sipke Schoorstra 7ea01370e6
Merge pull request #6429 from elsa-workflows/bug/disable-inbox-cleanup
Enable configurable toggle for workflow inbox cleanup job
2025-02-21 10:36:52 +01:00
Sipke Schoorstra d7900efb31
Enable configurable toggle for workflow inbox cleanup job
Introduced an `IsEnabled` property in `WorkflowInboxCleanupOptions` to allow enabling or disabling the cleanup service. Updated related logic to respect this configuration, removing the redundant `_enableWorkflowInboxCleanupJob` field. Ensures easier management of the inbox cleanup feature via configuration.
2025-02-20 21:25:03 +01:00
Sipke Schoorstra 6ccf52fe71
Merge pull request #6416 from elsa-workflows/enh/add-add-many-blueberry
Add AddManyAsync method to activity execution stores
2025-02-18 15:55:25 +01:00
Sipke Schoorstra 548272fb01
Merge pull request #6418 from elsa-workflows/enh/disable-bg-jobs-blueberry
Add toggle for WorkflowInboxCleanupJob in WorkflowRuntimeFeature
2025-02-18 15:54:55 +01:00
Sipke Schoorstra 10cc005848
Convert property values using type converters in BulkUpsert.
Added logic to handle type conversion using `ConvertToProvider` for properties with defined type converters. This ensures compatibility and consistency when interacting with the database in bulk upsert operations.
2025-02-18 15:36:23 +01:00
Sipke Schoorstra 74f9b06bdd Add 'enh/*' branch to GitHub Actions workflow
This update ensures that branches with the 'enh/*' pattern are included in the workflow triggers. It helps streamline CI/CD processes for enhancement-related branch developments.
2025-02-17 19:12:27 +01:00
Sipke Schoorstra 7084675a5c Add 'enh/*' branch to GitHub Actions workflow
This update ensures that branches following the 'enh/*' naming convention are included in the workflow. It aligns with existing branch patterns like 'feature/*' to maintain consistency in automation coverage.
2025-02-17 19:04:42 +01:00
Sipke Schoorstra 0065811354 Add toggle for WorkflowInboxCleanupJob in WorkflowRuntimeFeature
Introduced methods to enable or disable the WorkflowInboxCleanupJob. Updated service configuration logic to conditionally register WorkflowInboxCleanupHostedService based on the toggle. This adds flexibility to control cleanup job behavior programmatically.
2025-02-17 19:04:10 +01:00
Sipke Schoorstra 2ed8cf28dd
Remove unnecessary blank lines in BulkUpsertExtensions.cs
Cleaned up redundant blank lines to improve code readability and maintain consistent formatting. No functional changes were made to the code.
2025-02-17 18:25:55 +01:00
Sipke Schoorstra 2240a78dd3 Refactor parameter naming in BulkUpsert logic.
Replaced loop index-based parameter naming with a sequential counter to simplify and standardize parameter generation. Improved code readability and removed redundant indexing, ensuring consistency across different database operations.
2025-02-17 18:24:14 +01:00
Sipke Schoorstra c08e7fc9a9 Add BulkUpsertExtensions for enhanced bulk upsert operations
This commit introduces a dedicated `BulkUpsertExtensions` class to streamline bulk upsert operations in Entity Framework Core. It supports multiple database providers and replaces the previous implementation in `QueryableExtensions` for better modularity and maintainability.
2025-02-17 16:56:56 +01:00
Sipke Schoorstra 213c543210 Fix parameter passing in AddManyAsync method
Updated the mapping function in AddManyAsync to include the cancellation token and corrected the store reference to _store. This ensures proper handling of async operations and aligns with the expected method signature.
2025-02-17 11:41:00 +01:00
Sipke Schoorstra 36fa18cae7
Add AddManyAsync method to activity execution stores
Introduced a new AddManyAsync method across multiple activity execution stores to add collections of log records. This enhancement ensures consistency in handling bulk additions and aligns with existing store interfaces.
2025-02-17 11:35:41 +01:00
Sipke Schoorstra 6682b7f60f
Merge pull request #6392 from elsa-workflows/enh/bulk-query-cancel
Implement bulk cancellation using alterations and filters
2025-02-10 11:17:08 +01:00
Sipke Schoorstra bec0e559b2 Refactor RefitSettingsHelper for improved readability
Reformatted object initialization in CreateRefitSettings to improve structure and code clarity. Also cleaned up unnecessary whitespace for consistency and better readability.
2025-02-08 10:10:40 +01:00
Sipke Schoorstra bde7c0dbfe Restore support for custom JSON serializer configuration
Allow external configuration of JSON serializer settings by introducing an optional delegate. This enhances flexibility and enables customization based on specific use cases.
2025-02-08 10:10:17 +01:00
Sipke Schoorstra c0bf4b7f84 Add support for selecting all records with empty filters
Introduced a new property, `EmptyFilterSelectsAll`, to handle cases where empty filters should match all records. Updated logic in `WorkflowInstanceFinder` to respect this property, ensuring consistent behavior across the system. Removed redundant comments in the dry-run endpoint for cleaner code.
2025-02-08 10:07:07 +01:00
Sipke Schoorstra 578a15832c Update workflow cancellation logic
Replaced status checks with a call to `CanTransitionTo` for determining if a workflow can transition to the "Cancelled" state. This improves code readability and maintains consistent transition validation logic.
2025-02-08 09:51:26 +01:00
Sipke Schoorstra e719bd7c7d Remove alteration models and interfaces; refactor to use JsonObject.
This commit deletes all alteration-related models and the `IAlteration` interface in favor of using `JsonObject`. Adjustments were made to `AlterationPlan`, `AlterationPlanParams`, and `RunRequest` to replace `IAlteration` collections with `JsonObject`. Simplified the `RefitSettingsHelper` by eliminating polymorphism configuration for alterations.
2025-02-08 09:45:50 +01:00
Sipke Schoorstra 0e4a74bfba Add Cancel alteration type and handler for workflow cancellation
Introduced a new `Cancel` alteration type with its corresponding handler to allow workflow instance cancellations in alteration plans. Updated related services, serialization configurations, and activity metadata to support the new type. Improved JSON polymorphism handling to include the `Cancel` type.
2025-02-07 23:10:22 +01:00
Sipke Schoorstra 7cc638b86f Add filtering enhancements and clean up code inconsistencies
Introduced new filtering capabilities such as `Names`, `Statuses`, `SubStatuses`, and `SearchTerm` for workflow instance filters. Simplified object initialization syntax and removed unnecessary attributes, improving code readability. Added missing dependencies and API service registrations to ensure completeness.
2025-02-07 19:54:26 +01:00
Sipke Schoorstra 861fe40f66
Merge pull request #6370 from yinzara/feature/alterations-client-api
Added Alterations API to Client API library and updated server API co…
2025-02-07 12:56:57 +01:00
MariusVuscanNx 92626d4443
Merge pull request #6379 from elsa-workflows/feature/artifact
Updated deprecated artifacts
2025-02-06 16:32:05 +02:00
Marius Vasile Vușcan 29a8f4367d
Updated deprecated artifacts 2025-02-06 16:28:29 +02:00
MariusVuscanNx f4c2fdf316
Merge pull request #6378 from elsa-workflows/feature/artifact
Updated deprecated artifact
2025-02-06 16:13:52 +02:00
Marius Vasile Vușcan 9bd41f1f11
Updated deprecated artifact 2025-02-06 16:07:58 +02:00
Sipke Schoorstra dfc3bc4d2b
Merge pull request #6375 from elsa-workflows/feature/incidents
Exposed incidents in the Elsa.Api.Client
2025-02-06 12:04:48 +01:00
Marius Vasile Vușcan 23d37c060f
Removed unwanted code 2025-02-06 12:49:04 +02:00
Marius Vasile Vușcan 0832fda8ab
Exposed incidents in the Elsa.Api.Client 2025-02-06 12:19:26 +02:00
Marius Vasile Vușcan 771b21b0c1
Exposed HttpClientTimeout setting in ElsaClientBuilderOptions 2025-02-06 12:17:58 +02:00
Marius Vasile Vușcan 9703cf0ae5
Package updates 2025-01-29 16:34:51 +02:00
Sipke Schoorstra add1bcbf1c
Merge pull request #6353 from elsa-workflows/bug/primitive-array-serialization
Back-port PolymorphicObjectConverter from 3.3
2025-01-29 15:01:08 +01:00
Sipke Schoorstra b8f1cfdf6c Back-port PolymorphicObjectConverter from 3.3 2025-01-29 14:56:51 +01:00
MariusVuscanNx 646fb92535
Merge pull request #6290 from elsa-workflows/feature/blue-delete-fix
Added DeleteVariablesAsync method for the workflow context
2025-01-14 14:38:29 +02:00
Marius Vasile Vușcan 83b43f8daf
update 2025-01-14 12:30:37 +02:00
Marius Vasile Vușcan 7df058dd2a
Improvements 2025-01-14 12:23:21 +02:00
Marius Vasile Vușcan f27563a93f
Added DeleteVariablesAsync method for the workflow context 2025-01-13 16:48:24 +02:00