CrazyIter_Bin 11 months ago
parent
commit
f0334c7914
1 changed files with 21 additions and 1 deletions
  1. 21 1
      TEAMModelOS.FunctionV4/Program.cs

+ 21 - 1
TEAMModelOS.FunctionV4/Program.cs

@@ -88,7 +88,7 @@ namespace TEAMModelOS.FunctionV4
                services.AddMultipleAzureStorage(storageConnects);
                services.AddMultipleAzureStorage(storageConnects);
                //services.AddHostedService<BlobRootServiceBusSub>();
                //services.AddHostedService<BlobRootServiceBusSub>();
                services.AddSingleton<BackgroundWorkerQueue>();
                services.AddSingleton<BackgroundWorkerQueue>();
-                
+               services.AddHostedService<LongRunningService>();
             //  services.AddIPSearcher("");
             //  services.AddIPSearcher("");
            })
            })
            .Build();
            .Build();
@@ -116,5 +116,25 @@ namespace TEAMModelOS.FunctionV4
                 _signal.Release();
                 _signal.Release();
             }
             }
         }
         }
+
+        public class LongRunningService : BackgroundService
+        {
+
+            public LongRunningService(BackgroundWorkerQueue queue)
+            {
+                _queue = queue;
+            }
+            private readonly BackgroundWorkerQueue _queue;
+
+            protected override async Task ExecuteAsync(CancellationToken stoppingToken)
+            {
+                while (!stoppingToken.IsCancellationRequested)
+                {
+                    var workItem = await _queue.DequeueAsync(stoppingToken);
+
+                    await workItem(stoppingToken);
+                }
+            }
+        }
     }
     }
 }
 }