Features

The featureset that makes Didact stand out from the other alternatives in the .NET ecosystem.

Everything that you need for a robust job orchestrator.

Standalone Application

Didact is NOT a library to be integrated into an existing application. Rather, it is a pre-built application complete with nicely-separated GitHub repos for each piece of the platform.

REST API

Ships with a REST API which doubles as the execution engine, making event-driven execution, reporting, and maintenance very easy.

Web Dashboard

Includes a pre-built, decoupled VueJS web dashboard for a gorgeous user interface! Powered by the renowned Tailwind CSS library, Flowbite, and Observable Plot for graphs.

Console App

Ships a console app to assist with keeping the engine alive, graceful engine restarts, and various maintenance tasks. Enables proper lifetime management in IIS, Apache, or other traditional web server setups.

Decoupled Class Library

Directly inspired from Apache Airflow, Flows are stored in a totally decoupled class library project, naturally enforcing isolation between the engine architecture and your Flows. Easy version control via git - no need to reinvent the wheel.

Nuget Classes and Interfaces

Flows and execution Blocks are exposed as a set of classes and interfaces via public nuget packages in Didact Core. Add them as references in your class library project and code away!

Class-Based Flows

Each Flow (a job or pipeline) is defined in its own class, naturally advocating for a clean separation of concerns. Flows are comprised of optional execution Blocks and freely-written code.

Execution Blocks

Method-level traceability, logging, error handling, and retry policies for absolute atomic control. Takes a delegate as input, so incorporate other assembly methods, define a lambda expression, or anything else you want!

SQL-Powered Queue

No need for complex queueing architecture involving Redis, RabbitMQ, or a cloud platform. Didact uses a SQL database for the queueing mechanism, and, yes, databases can be very powerful queues.

Hyper Queues

The standard, default queue type used in Didact. Built for maximum performance and parallelism with best-effort ordering. Ideal for both single process and distributed environments, highly scalable.

FIFO Queues

A special queue type for guaranteed first-in-first-out ordering of Flows. Ideal for strict order of operations. For everyone background job system, users eventually have this need.

Dedicated Threadpool

A meticulously-crafted, dedicated, custom threadpool for Didact's queue workers. Completely safe for long-running operations, truly asynchronous, and prevents .NET threadpool starvation.

Cross platform

The entirety of Didact is composed from modern .NET technology. Because of this, Didact is perfectly suited for both Windows environments and Linux servers. Equally useful for both on-premises and cloud architectures.

Dockerizable

Speaking of cross platform, many .NET companies today, even ones with Windows environments, use Docker. Create a Dockerfile for Didact Engine, setup CI/CD, and easily scale Didact Engine containers across your servers.

Superior Documentation

Documentation is the primary learning device for developers. Great documentation helps me with marketing Didact, and it helps you with adopting Didact. I will ensure the docsite is modern, easily-traversible, and up-to-date.

Stay informed

Stay informed about the latest updates or follow the founder's journey. Also, there will eventually be a commercial offering for Didact, and you will receive discounted pricing.

Subscribe