如何在Scala中每x分钟触发一次方法调用?

如何在Scala中每x分钟触发一次方法调用?,scala,cron,playframework-2.0,Scala,Cron,Playframework 2.0,我正在计划一种机制,其使用场景类似于cron。它是一种时钟机制,尝试在预先指定的时间执行任务。Cron似乎不合适,因为这些任务触发Scala方法调用和存储在云数据库上的队列 我的设想是这样的:每x分钟,任务的执行日期都会从数据库中检索出来,并与当前时间进行比较,如果任务到期,它就会被执行并从队列中删除 我的问题是:如何在分布式环境中每x分钟运行一次上述检查 所有建议都受到鼓励。我认为Akka调度程序可能就是您想要的。这里有一个链接,还有另一个链接描述 更新:正如Viktor Klang指出的那样

我正在计划一种机制,其使用场景类似于cron。它是一种时钟机制,尝试在预先指定的时间执行任务。Cron似乎不合适,因为这些任务触发Scala方法调用和存储在云数据库上的队列

我的设想是这样的:每x分钟,任务的执行日期都会从数据库中检索出来,并与当前时间进行比较,如果任务到期,它就会被执行并从队列中删除

我的问题是:如何在分布式环境中每x分钟运行一次上述检查


所有建议都受到鼓励。

我认为Akka调度程序可能就是您想要的。这里有一个链接,还有另一个链接描述


更新:正如Viktor Klang指出的那样,Akka不是一个调度器,但它确实允许您定期运行任务。我已经在这种模式下非常成功地使用了它。

我认为Akka调度程序可能就是您想要的。这里有一个链接,还有另一个链接描述


更新:正如Viktor Klang指出的那样,Akka不是一个调度器,但它确实允许您定期运行任务。我已经在这种模式下非常成功地使用了它。

最有名的库是。

最有名的库是。

Akka调度程序不适用于此,它适用于在经过的X时间之后运行,而不是在X时间。它是否适用于,但是,您可以计算当前时间和计划时间之间的时差,并根据该时差计划任务,这将使您获得时间“@Viktor,如果您阅读我的问题,您将看到这正是我所需要的:每x次检查一次队列。@serejja是的,您可以这样做。我只是想确保调度程序不是“开”运行,而是“后”运行。Akka调度程序不是为了这个目的,它是为了在“经过的X时间”之后运行,而不是在X时间。它是不是为了,但是,您可以计算当前时间和计划时间之间的时差,并根据该时差计划任务,这将使您获得时间“@Viktor,如果您阅读我的问题,您将看到这正是我所需要的:每x次检查一次队列。@serejja是的,您可以这样做。我只是想确保调度程序不会“在”上运行,而是“在”之后运行。我没有明确提到这一点,但上下文是构建在Scala和Play2框架上的分布式环境中的Web应用程序。考虑到Akka scheduler与其他工具的集成程度,它似乎是一个不错的选择。我没有明确提到这一点,但上下文是基于Scala和Play2框架构建的分布式环境中的Web应用程序。考虑到Akka调度器与其他工具的集成程度,它似乎是一个不错的选择。