Commit graph

61 commits

Author SHA1 Message Date
Sipke Schoorstra 4ca441ab4c Prevent work from being cancelled when the broker cancels 2021-05-26 12:16:56 +02:00
Sipke Schoorstra b5453b23a2 Add support for pub-sub consumers and implement Rebus distributed cache signaling 2021-05-22 14:11:35 +02:00
Sipke Schoorstra 400a862f96 Cleanup: remove unused namespaces 2021-05-13 11:31:38 +02:00
Sipke Schoorstra cb94f4dde5 Update packages 2021-05-10 22:19:29 +02:00
Sipke Schoorstra 22aa10c65f Prevent service bus starters from crashing program in case of invalid queue/topic names 2021-04-29 16:02:43 +02:00
Sipke Schoorstra 937b861359 Optimize workflow registry loading by only considering older versions for which there are non-finished workflow instances pending 2021-04-15 21:38:10 +02:00
Sipke Schoorstra 7fa0a3b8d7 Blob storage formatting 2021-04-15 19:28:35 +02:00
jdevillard 1bccef163d give access to Service bus Message UserProperties 2021-04-15 16:03:22 +02:00
Sipke Schoorstra 2b0565ae66 Move re-indexing of triggers and re-creation of Azure Service Bus workers to an async background task (implemented as Rebus consumers) 2021-04-13 22:05:17 +02:00
Sipke Schoorstra 3a175936a9 Re-register Azure Service bus workers when workflows get published or retracted 2021-04-13 15:55:28 +02:00
Sipke Schoorstra a8de0f70c7 Handle null or empty queue names 2021-04-13 12:54:31 +02:00
Sipke Schoorstra df6ad74eec Replace custom distributed locking implementation with DistributedLock
https://github.com/madelson/DistributedLock
2021-04-07 13:13:13 +02:00
Sipke Schoorstra 570a07e656 Configure Azure Service Bus activities 2021-04-04 15:37:28 +02:00
Sipke Schoorstra 38be994e31 Break up WorkflowRunner into smaller types and extracted reusable trigger logic 2021-04-02 12:43:14 +02:00
Sipke Schoorstra c019599fae Add extensions to register dispatchers 2021-04-02 12:43:14 +02:00
Sipke Schoorstra f91caf14bc Update Azure Service Bus workers to use new dispatcher APIs 2021-04-02 12:43:14 +02:00
Sipke Schoorstra bd87f5b2df Incremental work on default dispatchers in preparation for actor model implementation 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 0434b4825a Update packages 2021-03-18 11:24:04 +01:00
Sipke Schoorstra 0c15c94ea7
Telnyx Activities (#768)
* Fix liquid syntax for accessing activity output

* Initial scaffolding of Telnyx module + API changes

* Make Telnyx Notification activity blocking

* Implement Telnyx correlation

* Post workflow suspension tasks improvements

* Add Telnyx activities

* Add HangupCall and TransferCall activities

* Call activity improvements
2021-03-17 13:07:14 +01:00
jdevillard 418cc85ba3
Add Azure Servicebus Topic Activities (Sender & Receiver) (#749)
* Add Service Bus Topic Sender & Receiver Activities

* Ability to manage simple "string" message

* Rename MessageReceived to  MessageQueueReceived  and SendMessage to SendQueueMessage

* Missing renaming bookmark , fix TopicWorker

Co-authored-by: jdevillard <jeremie.devillard@moskitos.fr>
2021-03-14 12:10:31 +01:00
Sipke Schoorstra 286a9586ad Fix activity attribute on SendAzureServiceBusMessage 2021-03-07 13:00:23 +01:00
Sipke Schoorstra 2f29dc379c Upgrade to .NET Standard 2.1 2021-01-31 18:44:57 +01:00
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