Commit graph

53 commits

Author SHA1 Message Date
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
Sipke Schoorstra bd3b41440a Incremental work on tests and QA 2020-10-19 22:12:11 +02:00
Sipke Schoorstra 0c47a781d5 Update package descriptions and names 2020-10-18 17:42:34 +02:00
Sipke Schoorstra a4f339b243 Configure Rebus to use less verbose logging 2020-10-18 15:16:28 +02:00
Sipke Schoorstra 077bdb7900 Simplify JSON serialization APIs 2020-10-17 20:19:44 +02:00
Sipke Schoorstra 7a7d032e9e Remove unused namespaces 2020-10-11 14:33:56 +02:00
Sipke Schoorstra 1a85fc5f26 Implement in-memory provider 2020-10-10 21:10:09 +02:00
Sipke Schoorstra 2673d07c63 WIP: YesSql 2020-10-09 22:26:19 +02:00
Sipke Schoorstra a0a68679bc Implement activity property setters 2020-10-03 12:48:25 +02:00
Ankit Sarkar 02cad73af0
fix#227: Add Azure Blob Storage distributed lock provider (#332)
* Fix#325:Elsa 2#RunWorkflowDefinitionAsync getting object reference null

* Fix#328: Rephrased error message

* activityId should not be mandatory while using RunWorkflowDefinitionAsync

* Fix#228:Add Redis distributed lock provider

* Removed unnecessary namespaces

* fix#227: Add Azure Blob Storage distributed lock provider

* Fix#228: Add Redis distributed lock provider, Re-architeched the soultion which includes
 - Remove of StartAsync
 - Auto Recover of Transient error

* fix#227: Add Azure Blob Storage distributed lock provider, Contains below enhancement -
 - Removed dependency of DistributedLockProvider
 - Better Log management

* Fix#228: Add Redis distributed lock provider, This includes below enhqncement
 - Better Log Management,
 -  Return false instead of throwing error in while unable to acquire lock

* fix#227: Add Azure Blob Storage distributed lock provider , This includes
 - Validate name before creating lease

* fix#227: Add Azure Blob Storage distributed lock provider updated message for ILogger

* fix#227: Moved literal values into a constant field, added Azure Lease Blob link for reference

Co-authored-by: Ankit Sarkar <ankt.srkr@live.in>
2020-07-14 15:24:07 +02:00
Sipke Schoorstra dd0e123828 Update packages 2020-04-19 15:39:28 +02:00
Sipke Schoorstra 1dd8db0c37 Various ForEach + WorkflowHost fixes 2020-04-19 10:32:10 +02:00
Sipke Schoorstra 60bfb4e7b2
Added Graphql (#246)
* Added GraphQL using Hot Chocolate
2020-02-15 20:32:16 +01:00