c# - 一个调度问题

标签 c# scheduling dispose

我有以下情况:我有几百种资源可供使用(个人电脑/手机/智能设备)。我想用这些建立一个网络实验室,用户可以在特定时间开始请求访问部分或所有这些设备。我正在为此编写一个调度程序。在请求的时间,我希望通知用户请求已被授予,然后自动对设备进行一些测试。我只是想知道什么是编写调度程序的有效方法。截至目前,我想到了以下几点:

  1. 每当收到请求时,我都会将其放入 SQL 数据库表中。我编写了一个程序来不断检查此表以查找到期的作业并运行它们。这将是周期性的(比如每 5 分钟一次),因此我无法安排立即测试。

  2. 为每个作业保留一个作业对象,并附加一个在指定时间触发的计时器(似乎是可扩展性最低的)。

  3. (1) 和 (2) 的混合体。我通过以更大的间隔(比如 30 分钟)查询数据库来创建带有计时器的作业对象。在查询中,我获取了在接下来的 30 分钟左右到期的所有作业。

是否有更好/更清洁的方法来做到这一点?

非常感谢您的提前回复!

最佳答案

您是否尝试过 Quartz.net...我已经使用 Quartz Java 风格很长一段时间了,它为我所做的一切给我留下了深刻的印象。

关于c# - 一个调度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3456722/

相关文章:

linux - struct sched_pa​​ram 中的 sched_priority 指的是什么?

multithreading - 生成和管理后台线程的惯用 Clojure 方式

c# - 有条件地检索列表成员的语法

c# - 如何将键和值写入文本文件并读回?

c# - C# 中的状态机

windows - 如何以实时优先级启动可执行文件?

c# - DataGridViewComboBoxCell : How to set selected value when adding a row?

algorithm - 调度算法最短作业优先

vb.net - .dispose() 方法有什么作用吗?

c# - 尽管数据表存储在缓存中,但每次使用后是否都必须调用 dispose?