[英]Does Dart have a scheduler?
我从服务器端的角度来看dart。
是否有可以在特定时间或每小时X次执行隔离的调度程序? 我正在思考Java世界中的Quartz。
Dart有一些延迟和重复任务的选项,但我不知道Quartz to Dart的端口(还是...... :)
以下是基础知识:
Timer
- 在一段延迟后简单地运行一个函数 Future
- 更强大,可组合的功能,在未来“回归”价值 Stream
- 强大,可组合的事件流。 可以是定期的。 如果您有重复任务,我建议使用Stream over Timer。 Timer没有内置的错误处理,因此未捕获的异常可以降低整个程序(Dart没有全局错误处理程序)。
以下是使用Stream生成定期结果的方法:
import 'dart:async';
main() {
var stream = new Stream.periodic(const Duration(hours: 1), (count) {
// do something every hour
// return the result of that something
});
stream.listen((result) {
// listen for the result of the hourly task
});
}
你特别询问隔离物。 您可以在程序启动时生成隔离,并每小时向其发送一条消息。 或者,您可以在程序启动时生成隔离,并且隔离本身可以运行自己的计时器或定期流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.