Commit graph

713 commits

Author SHA1 Message Date
Sipke Schoorstra 142b574481 Update packages 2021-09-16 20:25:38 +02:00
Sipke Schoorstra 7cb8e3edd1 Record fault execution log during begin workflow phase 2021-09-16 14:14:54 +02:00
Sipke Schoorstra 6352372179 Update package references 2021-09-14 16:09:59 +02:00
Sipke Schoorstra 86efb968c4 Implement workflow instance deleter with support for locking 2021-09-09 23:02:02 +02:00
Sipke Schoorstra 0184003b85 Publish WorkflowInstanceCancelled event from workflow runner 2021-09-09 23:02:02 +02:00
Sipke Schoorstra ac43c9fb9d Publish WorkflowInstanceDeleted event 2021-09-09 23:02:02 +02:00
Sipke Schoorstra fc96051628 Remove unnecessary ambient locking code 2021-09-09 23:02:02 +02:00
Sipke Schoorstra 64636a362b Initial work on workflow instance cancellation 2021-09-09 23:02:02 +02:00
Sipke Schoorstra 94b086f5f0 Update RefreshWorkflowContext.cs
This change ensures that workflow context (if a context ID is present) is always loaded before executing a workflow. This needs to happen regardless of the configured fidelity.

Fixes #1490
2021-09-08 10:21:25 +02:00
Sipke Schoorstra b007dc7574 Make boolean properties of ActivityInputAttribute non-nullable
Fixes #1390.
2021-09-03 13:10:00 +02:00
Sipke Schoorstra e04a910d96
Workflow journal enhancements (#1481)
* Add support for custom journal data logging

* Update ForEach with journal logging

* Update ReadLine with Journal logging

* Update For.cs

* Update While.cs

* Update Switch activity

* Update Join.cs

* Update Timer activities

* Update Azure Service Bus and Telnyx activities

* Update various other activities
2021-09-03 13:05:09 +02:00
Andrey Mishurinsky ef37f87514
Disable workflow (#1336)
* Publish/Subscribe events added to WorkflowSettings and WorkflowRegistry

* Workflow Registry re-indexed and cache refreshed on workflow disable/enable

* IsDisabled property added to WorkflowBlueprintSummary to display disabled status in the UI

* MySql, PostgreSql and SqlServer persistence added to Workflow Settings

* Validation for disabled workflow in Workflow Resumer

* WorkflowSettings configuration added to the appsettings.json

* Workflow Settings added to Elsa.Server.Host startup collection

* IWorkflowSettingsProvider implemented

* Update README.md

* Elsa-Workflow-Settings and Elsa-Webhooks separate modules added and decoupled from Elsa Web

* Delete unused Client projects

* LoadWorkflowSettingsDisabledHandler changes

* FeatureProvider removed, Webhooks plugin merged to Webhooks Feature Plugin

* Update Webhooks and Settings plugin

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-09-02 16:20:10 +02:00
Sipke Schoorstra 3c4a10d650 Implement infinite loop detection and handling 2021-09-01 19:06:07 +02:00
Sipke Schoorstra 8228053cd9 Fix duplicate Done outcome
Fixes #1455
2021-08-31 21:30:37 +02:00
Sipke Schoorstra d30c012790 Ensure refreshed workflow context
Fixes #1439
2021-08-31 16:55:22 +02:00
Sipke Schoorstra fc954d9968 Improve error messages
Closes #1425
2021-08-31 16:09:04 +02:00
Sipke Schoorstra f7a63b80c5 Reduce number of DB commits during workflow execution 2021-08-23 11:57:50 +02:00
Sipke Schoorstra 4a268c75c2 YesSql provider fixes 2021-08-20 09:55:18 +02:00
Sipke Schoorstra 812303efdc Fix YesSql provider issues 2021-08-19 21:56:05 +02:00
Sipke Schoorstra 6b31bdc6dd Fix an issue with correlated workflow selection
fixes an issue where correlated workflows of different definitions could not signal one another if the signal matches a workflow instance but was not listening for that signal. All startable workflows should always be considered except for the workflow definition that has an already correlated workflow instance matching the correlation ID.
2021-08-19 20:33:06 +02:00
Sipke Schoorstra 014fcf3ca4 Update Send Signal to use Dispatch mode
This fixes potential deadlock and race conditions when a workflow receiving the signal immediately sends a signal back.
2021-08-19 20:29:12 +02:00
Sipke Schoorstra c4b1cf1ee9 Update Fork.cs 2021-08-19 20:28:21 +02:00
Sipke Schoorstra 87132d49c5 Initial fix for deadlock situation
When a parent workflow triggers another workflow using signaling and using the same correlation ID, the distributed lock provider would try to acquire a lock on the same resource, causing a deadlock situation.

This isn't the final fix.
2021-08-19 14:45:26 +02:00
tomy2105 2ab5b3e9ea
Disposing IBus instances (#1374) 2021-08-11 12:29:36 +02:00
Sipke Schoorstra 65e35dd3cb Fix an issue with re-scheduling scopes while workflow is Suspended
This solves an issue when a workflow uses a fork activity where multiple branches get scheduled, but one of them contains a blocking activity, putting the workflow in the Suspended state. But as the other scheduled activities execute and "unwind" when the leaf node finished, their current scope weren't being re-scheduled.
2021-08-10 19:41:58 +02:00
Sipke Schoorstra 212585c0ad Fix that scope activities aren't rescheduled
This fixes the issue when a scope activity such as If and composite activities aren't rescheduled when they are leaf nodes.
2021-08-10 10:35:01 +02:00
Sipke Schoorstra 72fcfd7ff4 Fix WorkflowPublisher
Fixes #1293
2021-08-09 13:15:34 +02:00
Sipke Schoorstra 0222c20d7d Fix Join activity to clear ALL blocking activities in ancestor paths
Fixes #1342
2021-08-07 19:57:25 +02:00
Rafael Carnucci 30ee68671d Pass TenantId as parameter 2021-08-07 19:01:00 +02:00
Sipke Schoorstra db9df4736f Call into Workflow Context's Remove Blocking Activity 2021-08-07 18:39:45 +02:00
Sipke Schoorstra b385dfcdad Fix RunWorkflow activity outcome cast issue 2021-08-05 14:26:25 +02:00
Sipke Schoorstra 2e09e675c3 Update ExecuteWorkflowInstanceRequestConsumer.cs
Fix input type double wrap
2021-08-04 20:56:52 +02:00
Sipke Schoorstra c344de324c Fix RunWorkflow resumption when child completes synchronously
Fixes #1347
2021-08-04 18:39:59 +02:00
Sipke Schoorstra 90bbc37808 Fix incorrect scope eviction
Fixes an issue where the wrong scope would be evicted.
2021-08-04 13:46:27 +02:00
Sipke Schoorstra c892a11de7 Update ActivityActivator to use default storage provider 2021-07-31 12:54:46 +02:00
Sipke Schoorstra 2c3935f0e0 Add support for specifying default workflow storage providers per activity property
Fixes #1254
2021-07-31 12:54:46 +02:00
Sipke Schoorstra 15743c4396 Refactor StorageStorage.net usage to allow different configurations 2021-07-31 12:54:46 +02:00
Sipke Schoorstra b138061661
Reuse certain queues for certain event types (#1317) 2021-07-27 21:47:30 +02:00
Rafael Carnucci e316ca6c80 Added TenantId in IStartsWorkflow.StartWorkflowAsync and IWorkflowFactory.InstantiateAsync 2021-07-26 19:38:47 +02:00
Sipke Schoorstra 7479ff1210 Prevent custom composite activities from overriding values specified by the activity definition
This particularly fixes the issue where a composite activity can potentially specify its own activity ID, which would break the workflow since the activity definition ID (as generated by the designer) would be different.
2021-07-26 13:10:41 +02:00
Sipke Schoorstra 11de05173e Add API support for querying workflow instances by correlation ID 2021-07-24 13:24:25 +02:00
Sipke Schoorstra e55b2fbf60 Only evaluate designer-critical properties.
Fixes #1163
2021-07-24 11:59:56 +02:00
Sipke Schoorstra 472358f9e7 Introduce designer-critical properties 2021-07-24 11:59:56 +02:00
Sipke Schoorstra 641c6f9257 Add CorrelationIds query specification 2021-07-23 16:18:17 +02:00
Sipke Schoorstra 229f6cddaa Select first activity as start activity when no root activity could be determined 2021-07-23 10:42:58 +02:00
Sipke Schoorstra 42e95033cf
BREAKING: Persistable input (#1302)
* Implement resuming Idle workflows + persistable input

* Refactor workflow input model

* Re-enable tests
2021-07-22 22:13:33 +02:00
Sipke Schoorstra 7f0cf7e1fe Evict activity type cache upon webhook definition created or updated 2021-07-21 12:40:42 +02:00
Sipke Schoorstra a42df38f6e
Merge pull request #1261 from dcamarenaAZO/patch-1
fix: Reset IsLatest also for not published workflows on PublishAsync
2021-07-14 17:16:59 +02:00
Sipke Schoorstra e3120e9329 Fix CompositeActivityBlueprint initialization
This fixes an issue where one could not use nested composite activities when used from the designer
2021-07-14 14:59:38 +02:00
dcamarenaAZO 197db28702
fix: Reset IsLatest also for not published workflows on PublishAsync
When an unpublished workflow is published, IsLatest is not set to false because the PublishAsync method was only looking for published workflows.
2021-07-14 07:45:26 +02:00