scala - 我应该如何在 Scala 中安排一些简单的延迟任务?

标签 scala scheduling

我正在制作 Chaos Monkey程序,我希望它在一段时间后自行清理。我想要一种简单的方法来排队清理任务,以便将来在一定时间内调用。我想我可以用 Actor 和很多挥手做点什么,但这似乎是错误的方法。在 Scala 标准库中是否有更好的工具来完成这个任务?

最佳答案

我在 Scala 中编写了一个调度 DSL,名为 foil ,可在 Github 上免费获得。它将与 Java 日历/日期或 Joda 库一起使用。语法如下所示:

schedule(f) now
schedule(f) onceAfter 5.minutes
schedule(f) onceAt inst
schedule(f) onceAtNext time
schedule(f) todayNoEarlierThan time

其中 f 是一个闭包(即 () => Unit )。还有更多的例子on the Wiki和一个 example REPL session带箔,展示如何使用它(Java 日期/日历和 JODA)。

关于scala - 我应该如何在 Scala 中安排一些简单的延迟任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797666/

相关文章:

scala - 如何在 Scala 中使用 switch/case(简单模式匹配)?

scala - 将外部json文件读入RDD并提取scala中的特定值

scala - 在spark中为LDA准备数据

scala - 如何在 DataFrame 中用空值替换数字?

java - Scala XML 性能与 Java XML

c - 如何设计和实现触发 C 语言部分代码的可调度警报/事件

batch-file - 如何每两周安排一个批处理脚本文件?

java - 我需要一个 java 中的调度程序,它与其他调度程序共享一个线程池

Java 线程亲和性

algorithm - 非抢占式 最早截止时间优先调度