Commit graph

65 commits

Author SHA1 Message Date
Sipke Schoorstra a0ade4a984 Fix rebus message type queue mixup 2021-07-01 12:18:41 +02:00
Sipke Schoorstra d49bbd61ea Remove unused namespaces 2021-06-28 22:38:23 +02:00
Sipke Schoorstra a3fd1a31af Implement workflow priority channels 2021-06-28 22:38:05 +02:00
Sipke Schoorstra 63113d31d7 Add various Startups
Note that this is a work in progress. Not all modules have startups yet.
2021-06-19 20:19:05 +02:00
Sipke Schoorstra 77ab88d41e Update Features with support for configuring middleware pipeline 2021-06-19 12:57:54 +02:00
Sipke Schoorstra f67140f7e2 Cleanup 2021-06-14 14:10:03 +02:00
Sipke Schoorstra 332741d54f Implement pluggable storage for activity input and output properties 2021-06-14 14:10:03 +02:00
Sipke Schoorstra 0c79bac321 Updated some namespaces 2021-06-14 14:10:03 +02:00
Sipke Schoorstra 8a18a85e26 Organize folder structure a bit more 2021-06-14 14:10:03 +02:00
Sipke Schoorstra 7814be98b3 Remove unused namespaces 2021-05-23 20:38:12 +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 52cd21d0ff Fix distributed lock extensions 2021-04-07 15:36:08 +02:00
Sipke Schoorstra bbbb8a40f4 Fix activity type access bug 2021-04-07 13:13:13 +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 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 bd87f5b2df Incremental work on default dispatchers in preparation for actor model implementation 2021-04-02 12:43:14 +02:00
tomy2105 6773a73a81 Method to skip adding core activites automatically. 2021-03-29 12:05:56 +02:00
Sipke Schoorstra f6268acfd1
Add Break activity (#628)
* Add Break activity

* Add activity type registration helpers

* Add sample project for Break activity
2021-02-13 10:29:03 +01:00
Sipke Schoorstra 5a7584b9ec Cleanup 2021-02-01 16:16:14 +01:00
Sipke Schoorstra 2b88208ff6 Configure Rebus serialization and centralize common rebus config 2021-01-30 20:39:08 +01:00
Sipke Schoorstra 386879781d Add AddActivitiesFrom overloads 2021-01-30 14:43:32 +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 49d4e5bb36 Optimize workflow trigger re-indexing 2021-01-10 13:43:34 +01:00
Sipke Schoorstra 3cfc2ad665 Remove unused namespaces 2021-01-08 17:40:32 +01:00
Sipke Schoorstra 199ea6abaf
Fix memory stores + Join activity (#561)
* Fix in-memory storage
* Fix broken Join activity
* Fixes #528
2021-01-08 15:02:41 +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 dcbf14c144 Fix and simplify composite activity + while/for/foreach handling 2021-01-01 17:58:08 +01:00
Sipke Schoorstra d04cd93536 Add support for overriding display name and description 2020-12-26 21:55:02 +01:00
Sipke Schoorstra fa13aadd37 Serialization improvements and cleanup 2020-12-26 14:37:05 +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
Rafael Carnucci 92e1a1c3bf
Redesign activities and workflows management (#536)
* Adding Activities, Workflows, TriggerProviders and WorkflowContextProviders by Reflection

* Activities stored in ElsaOptions, instead of IServiceCollection

* Remove the empty XML comments

* Renamed ElsaConfigurationsOptions to ElsaConfiguration

* Small enhancements

* Workflows stored in ElsaOptions, instead of IServiceCollection

* Instantiated workflows can now be added

* Workflow instance was not registered to DI

* Add Elsa.Activities.Rebus project to solution

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-25 21:17:17 +01:00
Rafael Carnucci 5b84a2e7a2
Using AutoMapper.Extensions.Microsoft.DependencyInjection, instead of own implementation (#537) 2020-12-24 14:25:43 +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 03c9f94671
Improve specifications and YesSQL implementation (#529)
* Update Fluid.Core package

* Make specifications flexible

* Update build environment

* Disable global.json
2020-12-20 12:12:32 +01:00
Sipke Schoorstra d41039b567 Rename extensions namespace 2020-12-18 11:35:29 +01:00
Sipke Schoorstra d6cc7d7f56
Implement Specification pattern (#517)
* Add specifications

* Update persistence providers with specification pattern
2020-12-14 17:15:39 +01:00
Sipke Schoorstra f2aae986f4 Use in-memory persistence by default 2020-12-12 14:07:17 +01:00
Sipke Schoorstra daa10df6c3 Remove unused namespaces 2020-12-12 12:38:07 +01:00
Rafael Carnucci 3b35d9ff0a
Seperate YesSql (#504)
* Seperate YesSql and added InMemory, MongoDb

* Error fixed, if DatabaseInitializer is run through several times

* icon.png was not packed

* Added AddWorkflowProvider to AddElsaPersistenceMongoDb

* Wrong primary keys were used for MongoDb

* Refactorig MongoDb

* Register IMongoCollection<WorkflowDefinition> and IMongoCollection<WorkflowInstance> with DI

* Wrong Parameter Type in Constructor (MongoDbWorkflowInstanceRepository)

* Add workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate(); to Initialize

* Removed duplicated code

* Correct wrong Commit

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-11 21:03:49 +01:00
Sipke Schoorstra 3d67c195ac Add Rebus service bus providers for Azure Service Bus and RabbitMQ 2020-11-22 13:05:34 +01:00
Sipke Schoorstra e6227e887f Simplify service bus API and cleanup 2020-11-22 11:49:28 +01:00
Sipke Schoorstra f1349adc3f Service bus API improvements 2020-11-20 23:24:48 +01:00
Sipke Schoorstra 355038f27e Incremental work on service bus API 2020-11-20 17:08:05 +01:00
Sipke Schoorstra d5633d282c Stash 2020-11-20 13:29:08 +01:00
Sipke Schoorstra 13b770e362 Remove unused index provider 2020-11-03 10:18:19 +01:00
Sipke Schoorstra 884f54782d Use Sqlite as default db provider 2020-11-03 09:46:38 +01:00
Sipke Schoorstra b48ceb1929 Add file based workflow sample 2020-10-23 14:38:26 +02:00
Sipke Schoorstra 6755002f51 Add file/blob storage-based provider + test 2020-10-23 14:20:52 +02:00
Sipke Schoorstra 400b4f827a Incremental work on tests, API endpoint, versioning and cleanup 2020-10-20 23:17:08 +02:00