首页 > 解决方案 > 奥尔良 - 如何提高提醒的准确性

问题描述

Reminders哪种组织+工作的最佳方式Timers

我想在一秒钟内精确地运行一项任务。

据我了解,我需要以一定的间隔运行提醒。并且间隔的每个开始都会触发一个计时器以达到特定的时间。但是我应该指定哪个提醒间隔来实现两个目标:

标签: .net-coreactororleans

解决方案


提醒用于大致时间(分钟),计时器用于精确时间。您可以通过将两者结合起来创建一个强大的解决方案。

显然,您将需要最初产生谷物的东西。您还需要持久存储提醒。然后在中创建一个提醒和一个计时器OnActivateAsync()

在提醒回调中检查计时器是否存在,必要时重新创建它。

在计时器回调中,确保调用grain方法

        private async Task SnapshotTimerFired()
        {
            var me = this.AsReference<IScoobyDoGrain>();

            await me.DoSomethingForAScoobySnack();
        }

通过调用grain,运行时会知道grain是活着的并且try不会因为内存压力而停用


推荐阅读