public void RunBatchProcessing() { Task task = Task.Factory.StartNew(async() => { try { await Log(); } catch (Exception ex) { Logger.Error($"Processing thread was dropped. {ex.GetType()}:{ex.Message}"); } ProcessingQueue.CompleteAdding(); }, TaskCreationOptions.LongRunning); }