Description
Long running workflows with ability to suspend and replay the workflow in future. 1. Strongly Typed API 2. Ready for Mobile 3. Dependency Injection 4. Minimal Code Required 5. Support for extremely large workflows (spanning across days) 6. Unit testable
Eternity Framework alternatives and similar packages
Based on the "Scheduling" category.
Alternatively, view eternity alternatives based on common mentions on social networks and blogs.
-
Workflow Core
Lightweight workflow engine for .NET Standard -
FluentScheduler
Automated job scheduler with fluent interface for the .NET platform. -
DurableTask
Durable Task Framework allows users to write long running persistent workflows in C# using the async/await capabilities. -
AsyncAwaitBestPractices
Extensions for System.Threading.Tasks.Task and System.Threading.Tasks.ValueTask -
Cronos
Fully-featured .NET library for working with Cron expressions. Built with time zones in mind and intuitively handles daylight saving time transitions -
Chroniton
A library for running tasks(jobs) on schedules. -
NCrontab.Scheduler
NCrontab.Scheduler is a simple, open source task scheduling system that can be used in any .NET application
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Eternity Framework or a related project?
README
Eternity Framework
Long running workflows with ability to suspend and replay the workflow in future.
NuGet
Name | Package |
---|---|
NeuroSpeech.Eternity | |
NeuroSpeech.Eternity.DependencyInjectionExtensions | |
NeuroSpeech.Eternity.AzureStorage | |
NeuroSpeech.Eternity.SqliteStorage | |
NeuroSpeech.Eternity.Mocks |
Features
- Strongly typed API
- Mobile Ready - Storage is abstract and does support running workflows in Mobile Devices.
- Dependency Injection - easy integration with Microsoft Dependency Injection Extensions
- Activities are simple public virtual C# methods
- Activities can be scheduled to be called in future
- Support for external events, workflow can wait for external events
- Really very large workflow supports, duration of waiting can have timeout for days/months/weeks. This allows in creating workflow for monthly/yearly memberships.
- Abstract Storage - you can create your own storage, in memory Mock storage, Sqlite Storage (for mobile) and Azure Table Storage is included.
- Unit testable - Mocks package contains useful mocks to unit test your workflows.
- Support for non deterministic workflows, activities are isolated by parameters and time of execution, (you can also make Activity unique) so same activity method with same parameter anywhere in the workflow will execute only once and will give same result.
- Workflow can wait for multiple events, and when you raise an event, it will optionally throw an exception if workflow is not waiting.
- You can wait for events for days/months. It does not occupy any resources, waiting occurs in queue, and workers do not stay busy while waiting.
- .NET Standard 2.0 support, it means it can run anywhere without any native/local dependency.