Если вам не нужна слишком большая точность времени (уведомления об изменениях каналов обычно задерживаются на несколько секунд) для этой задачи канал изменений Azure CosmosDB можно легко использовать в качестве решения. , но это потребовало бы некоторой дополнительной работы от команды Microsoft, чтобы также поддержать захват событий истечения срока действия удаления TTL.
Потенциальное решение, если бы Канал изменений собирал такие события истечения срока действия TTL, было бы: всякий раз, когда вы вставляете (или в вашем случае использования: изменить приоритет) документ, для которого вы хотите отслеживать отсутствие изменений, вы также вставляете другой документ (возможно, в другую коллекцию) , который действует как таймерс указанием TTL равным 1 ч.
Вы можете удалить документ таймера вручную или использовать ленту изменений для изменений в случае, если изменение действительно произошло.
Вы также можете легко использовать из измененияПодайте событие истечения TTL и утверждайте, что если истек TTL, то в спецификации не было никаких измененийвременное окно ified.
Если вам нужна эта функция, вы должны рассмотреть вопросы голосования, такие как эта: https://github.com/Azure/azure-cosmos-dotnet-v2/issues/402 и запросы функций, такие как эта: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/14603412-execute-a-procedure-when-ttl-expires,, котораясделайте фид изменений идеально подходящим для таких сценариев, как ваш. К сожалению, он пока недоступен: (
TL; DR Нет. Изменение подачи в том виде, в каком оно есть, не подходит для вашего случая использования. Для этого потребуются некоторые дополнительные функции, которые запланированы, но нереализовано.
PS. Если вы все равно хотите больше узнать о канале изменений и его основных случаях использования, вы можете проверить эту статьюмой :)