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