DistributedLock
Hangfire
Our great sponsors
DistributedLock | Hangfire | |
---|---|---|
5 | 61 | |
1,618 | 9,013 | |
- | 1.4% | |
4.3 | 9.4 | |
16 days ago | 7 days ago | |
C# | C# | |
MIT License | GNU General Public License v3.0 or later |
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.
DistributedLock
-
Ideas for concurrency control
You want a distributed lock then, maybe this project would help? https://github.com/madelson/DistributedLock
-
Distributed pool
Otherwise, you can probably look for libraries that do distributed locks (mutex or semaphore) like this one? https://github.com/madelson/DistributedLock
-
System Design Interview Question: Implementing a Scheduler
That’s it! The benefit of this approach is that the job does not depend on a particular framework or set of tools. It can be run as either a console application, or used in unit tests. What is most important to note is that concurrent jobs can affect subscriptions. So before sending a request to the payment gateway, always make sure that you have locked the resource. Every modern database supports distributed locks, and there are hundreds of frameworks on top of them. Examples of this can be found at https://github.com/madelson/DistributedLock. It is not a complicated task, but it is one that absolutely needs to be done.
-
How should I manage replicated backend service that has hosted background service
Seems like there are some solutions and libs out there like: Community made : https://github.com/madelson/DistributedLock Redis supported: https://github.com/samcook/RedLock.net
- What lock should I use to lock a User Object while be able to run methods async inside the lock?
Hangfire
-
Deno Cron
Unpopular opinion incoming... What I see is yet another way that the backend JS world is finally achieving something .NET had years ago[0].
Node/Deno/Bun/etc. + npm sounds super straightforward at first glance (and it is at first). But I've thought for years that it's far easier to be productive as an organization on .NET in Visual Studio, since it's simpler to design, deliver, and maintain infrastructure.
[0] https://www.hangfire.io/
-
Boosting Productivity with HangFire: Streamlining Background Job Processing
you can read about it here HangFire Documentation
-
How do you save a file at the end of the day within a function that is only called at certain times?
I mostly work in .NET, and typically use Hangfire, but all languages has similar frameworks
-
What can I use as a simple message bus with persistence in .NET?
Its hard to tell what tool would be a best fit without more information, but I would suggest looking at Hangfire for background job processing: https://www.hangfire.io/
-
Event Bus + Job APIs
You might want to look at https://www.hangfire.io/. Their docs explain how to set up queues: https://docs.hangfire.io/en/latest/background-processing/configuring-queues.html
-
Background Job Scheduling in .NET using Hangfire
In this article we looked at how to use Hangfire to schedule background jobs in ASP.NET according to our requirements. In a follow up article, I will talk about using Hangfire with a Redis storage. To learn more about Hangfire, you can visit the official website.
-
BackgroundService in .Net Core
Easy to understand if you want to implement your own background service. If you want a more easy and complete tool you can use hangfire.
-
Is there anything like this in C#?
Try https://www.hangfire.io/
-
Help in creating a new Service
If, as you stated, you really need to use your own servers, that seems exactly like a job for Hangfire.
- Background processing in .NET MAUI app
What are some alternatives?
RedLock.net - An implementation of the Redlock algorithm in C#
QuartzNet - Quartz Enterprise Scheduler .NET
AsyncEx - A helper library for async/await.
RabbitMQ.NET - RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.2+
MassTransit - Distributed Application Framework for .NET
aspnetcore-redis-rate-limiting - Set up a Redis backplane for ASP.NET Core multi-node deployments, using the built-in Rate Limiting support that's part of .NET 7 and .NET 8.
Coravel - Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!
Kafka Client
FluentScheduler - Automated job scheduler with fluent interface for the .NET platform.
NServiceBus - Build, version, and monitor better microservices with the most powerful service platform for .NET
Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.