Я бы хотел, чтобы моя заявка закончилась изящно.Возможно ли это сделать?Если да, то как мне это сделать?
Вот общий обзор того, как выглядит приложение:
// .NET Core Console App
while (true)
{
// Get the next message from the Queue. The Queue is a database table that contains a list of "things that need to be done".
// Spawn a Task to handle that message. Send the Task all the data it requires to complete. Generally speaking, the Task will collate all the data in an object and make a call (PUT, POST, DELETE) against a set of RESTful web services.
// Sleep for some time.
Thread.Sleep(sleepTimeInSeconds * 1000);
}
Это приложение обычно работает без остановок на каком-либо сервере.Но если пользователю нужно отключить его, я бы хотел, чтобы работа корректно завершилась:
- Прекратите запрашивать очередь для дальнейших сообщений.Запрашиваемые сообщения блокируются базой данных, поэтому другие процессы не могут обрабатывать одно и то же сообщение.
- Разрешить выполнение любых запущенных задач.
Возможно ли это сделать?Какие технологии / библиотеки / концепции я могу использовать для достижения этой цели?