QuartzNet
DurableTask
Our great sponsors
QuartzNet | DurableTask | |
---|---|---|
30 | 9 | |
6,212 | 1,435 | |
1.4% | 1.4% | |
8.4 | 7.7 | |
14 days ago | 1 day ago | |
C# | C# | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
QuartzNet
-
I open-sourced a lib for Message Queueing /w MongoDB - wise idea?
I would agree with using Job over Queue. Therefore I would recommend looking at Quartz.Net https://www.quartz-scheduler.net/
-
Sending recurring reminders through text message at user-defined times.
You can use something like https://www.quartz-scheduler.net/ to create multiple recurring jobs based on the definition you load from a DB.
-
Suggestions to scale this existing process
Or use an existing open source scheduling solution like https://www.quartz-scheduler.net/
- Hangfire - Schedule Background Jobs in ASP.NET Core
-
.NET Timer
If you're interested in using Quartz, you can check out their GitHub repo here: https://github.com/quartznet/quartznet. They also have extensive documentation available on their website: https://www.quartz-scheduler.net/documentation/index.html.
- How to do Recurring weekly events with timezones?
-
async await is doing problems in the background jobs(console scheduler app)
You should use an actual scheduler. https://www.quartz-scheduler.net/
- Is this the best way to have a thread manager?
- Scheduled job in dot ent
-
Will background threads be forced to exit in finally blocks once all main threads have exited
Better to use a framework like Quartz.NET for scheduling background tasks. How it works inside the box I have no idea, but I have used it extensively in my web applications, and those background tasks run 24/7, come hell or high water. It's a good library, and it's easy to use.
DurableTask
-
Show HN: Windmill β fastest open-source workflow engine β the how
Might want to checkout DurableTasks[1] for that
- Temporal .NET β Deterministic Workflow Authoring in .NET
-
.NET Modern Task Scheduler
Azure Durable Tasks are great for this. Itβs open source too: https://github.com/Azure/durabletask
-
Dabbling with Dagster vs. Airflow
AWS Simple Workflows or Azure Logic Apps are both services that let you define S2S workflows however you like without any particular bias to CI/CD or business operations.
If you want to go even lower level, a framework like DTFx lets you define long-running, distributed and resilient orchestrations in code:
-
Resetting your Durable Functions Task Hub state
The fast and less official way to clean up state is to use the underlying Durable Task Framework storage APIs directly. Durable Functions has an internal dependency on the Durable Task Framework, so no new packages need to be added to your app to access them. Here's an example function that demonstrates how to clean up Azure Storage state quickly (disclaimer: use any of my code samples at your own risk).
-
How to use Netherite Storage Provider in Durable Functions
Netherite is a distributed workflow execution engine for Durable Functions (DF) and the Durable Task Framework (DTFx).
-
What was your stupidest mistake? (As a C# dev)
To give context - this table would track long running operations that were initiated and being executed by our worker machines (we use this c sharp framework).
-
Azure Durable Functions - Developing Serverless Stateful Workflow
Behind the scenes, the Durable Functions extension is built on top of the Durable Task Framework, an open-source library on GitHub that's used to build workflows in code. Like Azure Functions is the serverless evolution of Azure WebJobs, Durable Functions is the serverless evolution of the Durable Task Framework. Microsoft and other organizations use the Durable Task Framework extensively to automate mission-critical processes. It's a natural fit for the serverless Azure Functions environment.
-
A 10+ year Journey
I could clearly see that the developers building applications on Microsoft Azure were facing eerily similar challenges to what I had seen back at AWS. The same challenges we had tried to address with SWF. So I used one of the internal team hackathons as an opportunity to pair up with Affan Dar and take another stab at solving the problem. Affan had a very deep understanding of Azure ServiceBus so he was the perfect person to build the backend for the stateful C# experience I had in mind. Microsoft had recently added async/await capabilities into C# and it turned out to be an amazing fit for writing stateful applications which need to orchestrate calls among microservices. Since Java lacked an async/await like primitive, we had to rely on Promise-based async approach when building SWF. But with C#, we were able to deliver a much cleaner and synchronous programming model using async/await. This hackathon project resulted in Azure Durable Task Framework as an OSS client SDK which uses Azure ServiceBus as the backend to provide a stateful workflow-as-code experience for applications. I'm so glad to see Microsoft has continued investing in the experience with Azure Durable Functions as the latest reincarnation of the original effort. An effort which started with that hackathon project.
What are some alternatives?
Hangfire - An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
Workflow Core - Lightweight workflow engine for .NET Standard
FluentScheduler - Automated job scheduler with fluent interface for the .NET platform.
Coravel - Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!
temporal - Temporal service
Cronos - A 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 - Crontab for .NET