c# - 使用响应式(Reactive)扩展按计划运行任务

标签 c# .net timer scheduled-tasks system.reactive

我看过很多示例,展示了如何使用 RX 框架通过计时器运行任务,例如,

var timer = Observable
            .Timer(TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(3))
            .Subscribe(q =>
                {   
                    Console.WriteLine("do something here " + q);
                });

我想知道这是否可行,如果可行,我如何使用 RX 框架按计划运行任务,例如,每天午夜 12 点。

最佳答案

你写的基本上就是它。使用以 DateTimeOffset 作为开始时间的 Timer 重载:

DateTimeOffset startTime = midnight;
TimeSpan interval = TimeSpan.FromDays(1);

var timer = Observable.Timer(startTime, interval).Subscribe(q => Console.WriteLine("do something"));

关于c# - 使用响应式(Reactive)扩展按计划运行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208017/

相关文章:

c# - 如何在集成测试项目中替换中间件

c# - RuntimeHelpers.GetHashCode 是做什么的

c# - Microsoft.Extensions.Logging自定义实现,如何获取调用方方法名?

c# - ORM 和图层

c# - 弹性视频编解码器(断电)

c# - "Uncurrying".NET 中的实例方法

java - SharedPreferences getSharedPreferences 总是返回以前的值,即使它已被更改

java - 如何在 Java 中停止 TimerTask

python - 如何在单独运行的进程中修改类变量?

c# - 返回初始用户控件后返回 null 的表单