Commit graph

39 commits

Author SHA1 Message Date
Sipke Schoorstra 420e2e65c5 Add caching layer to WorkflowRegistry 2021-01-30 20:11:08 +01:00
Sipke Schoorstra 7cfe24ba94
Implement revival of faulted workflow (#595)
* Initial version of workflow reviver

* Fix DI things

* Rename workflow builder parameter to `builder`

* Update EF Core stores to use short-lived db contexts

* Update serializer to use new settings to reset ID seed

* Write fault details

* Add faulty workflows sample project

* Switch to free & open source Z.EntityFramework.Plus.EFCore

* Add content type header

* Fix call to virtual OnSaving/OnLoading

* Fix retry
2021-01-30 12:47:50 +01:00
Sipke Schoorstra 59189bd330
Revise trigger API (#593)
* Update triggers

* Fix service registrations

* Add support for startup task ordering

* Add missing Rebus Activities project

* Handle indexing of many workflow instances

* Update sample

* Separate bookmarks from start triggers

* Add trigger API

* Fix queue worker

* Delete sqlite temp files
2021-01-29 16:16:45 +01:00
Sipke Schoorstra 6954152993 Fix lifetime scope issue in QueueWorker 2021-01-28 14:22:45 +01:00
Sipke Schoorstra a60b973a06 Add support for ordered startup tasks 2021-01-28 14:13:31 +01:00
Sipke Schoorstra 0e78b98c2a
Add event to preempt workflow/activity execution (#589) 2021-01-25 15:53:49 +01:00
Sipke Schoorstra a5c6824023 Make Azure Service Bus queue worker parallelism configurable 2021-01-25 12:29:10 +01:00
Sipke Schoorstra 4936eda340 Decrease queue worker parallelism and expose triggers 2021-01-21 17:27:42 +01:00
Sipke Schoorstra 64c5f681eb Fix re-scheduling issue with Azure Service Bus messages as input 2021-01-21 15:31:44 +01:00
Sipke Schoorstra e6f42aca8f Update packages 2021-01-21 12:45:10 +01:00
Sipke Schoorstra e39d5cdb68 Ensure workflow instance locking when receiving Azure Service Bus messages 2021-01-21 12:11:25 +01:00
Sipke Schoorstra 860c045e6f Remove unused namespaces 2021-01-19 18:20:05 +01:00
Sipke Schoorstra 2a6d8f9bfe Synchronize Azure Service Bus queue worker based on correlation ID to prevent multiple workflow instances with same correlation ID 2021-01-19 18:19:36 +01:00
Sipke Schoorstra f57b834d36 Fix Azure Service Bus queue worker
This fixes an issue with message / workflow correlation.
2021-01-18 19:52:02 +01:00
Sipke Schoorstra d3196eea22 Cleanup 2021-01-16 12:52:08 +01:00
Sipke Schoorstra 4ebd41cc21 Fix Azure Service Bus queue worker trigger 2021-01-16 12:47:04 +01:00
Sipke Schoorstra 279cb1b08d Fix service bus synchronized access 2021-01-16 12:46:45 +01:00
Sipke Schoorstra 7d576a7ddc Fix Azure Service Bus queue worker 2021-01-15 14:56:31 +01:00
Sipke Schoorstra fe6aa7d9ff Fix OutcomeBuilder bug 2021-01-14 23:28:08 +01:00
Sipke Schoorstra 89dfba8269
Add source file + line number to execution log. (#571)
* Add source and activity type to WorkflowExecutionLogRecord

* Update builder extensions
2021-01-14 21:45:28 +01:00
Sipke Schoorstra 67cfbb6c1a Run workflows directly from Azure queue 2021-01-10 17:08:56 +01:00
Sipke Schoorstra 9bfe7d474a Fix queue worker workflow selector predicate 2021-01-09 12:51:00 +01:00
Sipke Schoorstra 9e63d9ad69
Distributed workflow execution support (#559)
* Incremental work on workflow message queuing

* Add extension to register message consumers

* Update Rebus logging to use Microsoft Extensions Logging

* Synchronize quartz job and run instance consumer with distributed locking

* Add service bus options
2021-01-08 11:14:00 +01:00
Sipke Schoorstra 83242ddecd
EF Core Persistence Provider (#557)
* Add EF Core persistence provider

* Add EF Core migration runner

* Fix potential duplicate queue registrations

* Update EF Core projects
2021-01-07 13:01:19 +01:00
Sipke Schoorstra 34983144c3 Optimize synchronized workflow instance execution in parallel 2021-01-02 12:57:27 +01:00
Sipke Schoorstra 356e0ba0ba Update Azure Service Bus queue worker to schedule workflow execution in the background
This to prevent scenarios where workflows take a long time to execute and the message gets re-delivered.
This change ACKS the message right after the workflow task has been queued internally.
2020-12-30 12:02:13 +01:00
Sipke Schoorstra 310cab9032
Elsa Activity + Workflow registration refactorings (#543)
* Elsa options and activity/workflow registration improvements

* Add convenience extensions for Quartz and Hangfire timer activity registration

* Fix solution and warnings
2020-12-26 12:21:08 +01:00
Sipke Schoorstra 8dbc3fe100
Workflow Execution Log (#530)
* Rename provider folder to locking

* Update project reference paths

* Incremental work on workflow execution log storage

* Fix deadlock

* Add workflow execution log stores
2020-12-21 17:08:32 +01:00
Sipke Schoorstra ee89331b91 Handle ServiceBusCommunicationException 2020-12-21 14:21:19 +01:00
Sipke Schoorstra 1542576c98 Decrease log level for MessageLockLostException 2020-12-21 13:55:13 +01:00
Sipke Schoorstra 913241732a Fix locking in MessageSenderFactory 2020-12-21 13:54:44 +01:00
Rafael Carnucci 0ba56f51b4
Enhance project structure (#524)
* Fix sample Elsa.Samples.FileBasedWorkflow

* Centralize project properties

* Fix PackageLicenseExpression

* Added configureawait.props & FodyWeavers.xml & FodyWeavers.xsd.

* Remove icon.png and added PackageIconUrl

* Removed <Nullable>disable</Nullable>

* Fix Icon in Elsa.Activities.MassTransit and Rebuild

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
2020-12-16 10:31:02 +01:00
Sipke Schoorstra a57816663d Wrap workflow instance store with workflow instance manager 2020-12-11 21:49:39 +01:00
Sipke Schoorstra bf1d54d1e6 Remove noisy CancellationToken parameters
The CancellationToken is now available as part of the ActivityExecutionContext
2020-12-02 22:28:36 +01:00
Sipke Schoorstra 0facd8f93f
Introduce activity type providers (#480)
* Add activity type provider API

* Rename ReceiveHttpRequest to HttpRequestReceived
2020-11-30 15:21:36 +01:00
Sipke Schoorstra 41ca351d29
Refactor Timers activities using Quartz & initial Multitenancy support (#477)
* Refactor time based events using Quartz.net

* Simplify Quartz job & trigger registration & Cleanup

* Expose Quartz configuration

* Restructure samples
2020-11-27 21:47:51 +01:00
Sipke Schoorstra 5e8a602f61 Fix lifetime scope issue with service bus queue starter 2020-11-24 10:44:33 +01:00
Sipke Schoorstra e7178ca28e Add Azure ServiceBus activities 2020-11-23 16:46:42 +01:00
Sipke Schoorstra 123e49c19d WIP Azure Service Bus activities 2020-11-22 22:16:28 +01:00