
ilovedotnet
February 23, 2025 at 04:16 PM
🚀 Adding a distributed lock to Hosted Background Service in ASP.NET WEB API
🔹 What?
We needed to query AWS Athena every hour to fetch analytics data for a dashboard. Running it as a background service worked, but multiple API instances triggered duplicate queries, causing AWS rate limits.
🔹 Why?
Errors and warnings skyrocketed, increasing costs and inefficiency. The challenge worsened when the query frequency was reduced to 30 minutes.
🔹 How?
We implemented a distributed lock using a database table, ensuring only one instance runs the job at a time. This reduced rate limits, improved reliability, and optimized costs.
Check out https://ilovedotnet.org/blogs/using-a-distributed-lock-in-hosted-service-in-asp-net-webapi/ for more visuals and code samples.
❤️
👍
4