У меня есть функция, которая каждые 5 минут проверяет, есть ли в моей базе данных какие-либо записи, которые необходимо обработать. В этой таблице у меня есть атрибут «Ishandled», чтобы отслеживать, какие записи уже были обработаны.
Теперь у меня есть вторая функция, которая запускается через HTTP. Эти функции позволяют мне немедленно обрабатывать определенную запись из базы данных, передавая идентификатор записи.
Мой вопрос. Если я активирую свою вторую функцию одновременно с активацией 5-минутного таймера, возможно ли, чтобы эта конкретная запись c была обработана дважды? Если да, то как этого можно избежать? Я думал о том, чтобы запустить веб-задание в единственном экземпляре и использовать блокировку для обеих функций, но по опыту знаю, что блокировки не совсем эффективны.
Любые предложения приветствуются.