Как я могу реализовать очереди фоновой обработки в моем веб-приложении ASP.NET MVC? В то время как большинство изменений данных, обновления и т.д. Должны быть сразу видны, есть другие обновления, которые не требуют обработки в реальном времени, которые я бы хотел передать в фоновый процесс с более низким приоритетом, который позаботится об этом в своем собственном темпе.
В качестве примера возьмите систему награды StackOverflow. Обычно вы можете предпринять конкретные действия, которые принесут вам значок, но фактическая "награда" произойдет позже (обычно между 10 минутами и несколькими часами позже). Я предполагаю, что это делается с помощью отдельного фонового процесса, так как это не критично для SO-обработки для немедленного получения значков при получении.
Итак, я пытаюсь создать какую-то систему очередей, в которой я мог бы заполнять задачи (скажем, что-либо, реализующее интерфейс ITask, который будет иметь метод Process()), который в конечном итоге будет выполняться отдельным процессом.
Как я могу реализовать такую систему? Идеи/подсказка/пример кода?
Спасибо!