Popularity
1.3
Growing
Activity
5.1
-
13
4
1

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

Programming language: C#
License: MIT License

Eternity Framework alternatives and similar packages

Based on the "Scheduling" category.
Alternatively, view eternity alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Eternity Framework or a related project?

Add another 'Scheduling' Package

README

.NET

Eternity Framework

Long running workflows with ability to suspend and replay the workflow in future.

NuGet

Name Package
NeuroSpeech.Eternity NuGet
NeuroSpeech.Eternity.DependencyInjectionExtensions NuGet
NeuroSpeech.Eternity.AzureStorage NuGet
NeuroSpeech.Eternity.SqliteStorage NuGet
NeuroSpeech.Eternity.Mocks NuGet

Features

  1. Strongly typed API
  2. Mobile Ready - Storage is abstract and does support running workflows in Mobile Devices.
  3. Dependency Injection - easy integration with Microsoft Dependency Injection Extensions
  4. Activities are simple public virtual C# methods
  5. Activities can be scheduled to be called in future
  6. Support for external events, workflow can wait for external events
  7. Really very large workflow supports, duration of waiting can have timeout for days/months/weeks. This allows in creating workflow for monthly/yearly memberships.
  8. Abstract Storage - you can create your own storage, in memory Mock storage, Sqlite Storage (for mobile) and Azure Table Storage is included.
  9. Unit testable - Mocks package contains useful mocks to unit test your workflows.
  10. 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.
  11. Workflow can wait for multiple events, and when you raise an event, it will optionally throw an exception if workflow is not waiting.
  12. 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.
  13. .NET Standard 2.0 support, it means it can run anywhere without any native/local dependency.

Documentation

  1. Home
  2. Getting Started
  3. Samples
  4. Child Workflow Sample
  5. Unit Testing

Other Interesting Projects by NeuroSpeech

  1. YantraJS - JavaScript engine for .NET with latest features
  2. Automatic Migrations for EF Core