标签: scheduling

VBA Macro On Timer样式每隔几秒钟运行代码,即120秒

我需要每120秒运行一段代码.我正在寻找一种在VBA中执行此操作的简单方法.我知道有可能从Auto_Open事件中获取计时器值以防止必须使用幻数,但我无法完全了解如何触发计时器以获得每120秒运行一次的东西.

如果我可以避免它,我真的不想在睡眠中使用无限循环.


编辑:

基于提供的答案的交叉发布位于:Excel VBA Application.OnTime.我觉得使用这个想法是个坏主意......想法无论如何?

excel vba scheduling timer excel-vba

38
推荐指数
3
解决办法
24万
查看次数

在android中重新安排计时器

我怎样才能重新安排计时器.我试图取消定时器/时间任务,并使用方法再次安排它.但它显示异常错误:

Exception errorjava.lang.IllegalStateException: TimerTask is scheduled already

代码我用过它:

private Timer timer = new Timer("alertTimer",true);
public void reScheduleTimer(int duration) {
    timer.cancel();
    timer.schedule(timerTask, 1000L, duration * 1000L);
}

android scheduling timer

35
推荐指数
1
解决办法
2万
查看次数

Quartz.Net如何创建每天不会获得1分钟的日程安排

我试图在Quartz.Net中建立一个重复的每日时间表,但有一些问题:

首先,我建立一个每日时间表,在12:45重复使用Quartz.Net代码,如下所示:

var trigger = TriggerBuilder.Create()
  .WithDailyTimeIntervalSchedule(s => 
      s.OnEveryDay().StartingDailyAt(new TimeOfDay(13, 00)))
.Build();

var times = TriggerUtils.ComputeFireTimes(trigger as IOperableTrigger, null, 10);

foreach (var time in times) Console.WriteLine(time);
Run Code Online (Sandbox Code Playgroud)

这是在新西兰,夏令时执行(所以UTC + 13:00)

我得到的输出很奇怪:

5/10/2012 1:00:00 p.m. +13:00
5/10/2012 12:01:00 a.m. +00:00
5/10/2012 12:02:00 a.m. +00:00
5/10/2012 12:03:00 a.m. +00:00
5/10/2012 12:04:00 a.m. +00:00
5/10/2012 12:05:00 a.m. +00:00
5/10/2012 12:06:00 a.m. +00:00
5/10/2012 12:07:00 a.m. +00:00
5/10/2012 12:08:00 a.m. +00:00
5/10/2012 12:09:00 a.m. +00:00
Run Code Online (Sandbox Code Playgroud)

第一个日期/时间使用本地时区显示,其余时间以UTC显示,每个时间值增加1分钟,日期永远不会改变.

我觉得我可能会错过一些基本的日常时间间隔时间表,但我只是不知道它是什么?

编辑

作为执行此操作的更新,我现在已切换到使用基于CRON表达式的触发器:

TriggerBuilder.Create()
  .WithCronSchedule(string.Format("0 {0} {1} ? * …
Run Code Online (Sandbox Code Playgroud)

c# scheduling intervals quartz.net quartz.net-2.0

35
推荐指数
2
解决办法
2万
查看次数

如何创建新的Linux内核调度程序

通过调度程序源代码(2.6.34,kernel/sched.c),我可以看到如何使用"可插拔"调度程序,我相信我理解要实现的接口.我还不明白的是如何将我的代码内置到内核中.至少,指向其他网站的指针将不胜感激.

现在,我正在内核源代码树中查找SCHED_FIFO,SCHED_RR和SCHED_NORMAL,所以我真的在寻找一种更有见地的方式来看待它:-)

编辑:作为一些背景,我对FreeBSD调度程序(以及一般的FreeBSD内核)非常熟悉,所以我不是在寻找关于如何进行进程/线程级调度的指针.我正在寻找一种方法来添加我自己的调度程序和普通的linux调度程序(类似于SCHED_FIFO).

编辑#2:下面的BFS指针是一个很好的开始,但它仍然将CFS从内核中删除.sched.c现在看起来像:

#ifdef CONFIG_SCHED_BFS
#include "sched_bfs.c"
#else
   // original sched.c 
#endif // CONFIG_SCHED_BFS
Run Code Online (Sandbox Code Playgroud)

我很乐意看到答案或指针如何更好地做到这一点(即保持CFS,至少目前为止).

编辑#3:我已经在下面回答了我自己的问题,因为我认为我已经弄明白了.

c linux scheduling scheduler linux-kernel

30
推荐指数
3
解决办法
2万
查看次数

教师时间表算法

这是我长期以来一直存在的问题.作为一名教师和程序员的儿子,我很早就想到了......但我仍然没有找到解决方案.

所以这就是问题所在.人们需要使用一些约束为学校创建时间表.这些通常分为两类:

理智检查

  • 老师不能同时教两门课
  • 学生不能同时学习两节课
  • 一些教师必须在一周内至少休息一天
  • 时间表应涵盖一周中的所有日期
  • 受试者X每周必须完全正常
  • ...

喜好

  • 每位教师的日程安排应尽可能紧凑(即教师应该连续一天工作,如果可能的话,没有暂停)
  • 休息日的教师应该能够在哪一天表达偏好
  • 从事兼职工作的教师应该能够表达是否在学校开始或结束时工作的偏好.
  • ...

现在,经过几年没有找到解决方案(同时学习一两件事),我意识到这就像一个NP难的问题.

它被证明是NP难吗?

有没有人知道如何破解这个东西?

看看这个问题让我想到了这个问题,以及在这种情况下遗传算法是否可用.然而,在保持理智检查规则的同时,很难改变可能性.我还不清楚如何区分不兼容的要求.


一个小的附录,以更好地说明问题.这适用于意大利学校风格的教室,所有学生都在不同的班级(例如:第1年A部分),教师在不同课程之间移动.同一班级的所有学生都有相同的时间表,并且无法选择参加哪些课程.

algorithm scheduling np-hard

29
推荐指数
1
解决办法
2万
查看次数

Linux SCHED_OTHER,SCHED_FIFO和SCHED_RR - 差异

有人可以解释SCHED_OTHER,SCHED_FIFO和SCHED_RR之间的区别吗?

谢谢

linux scheduling scheduler linux-kernel cfs

29
推荐指数
2
解决办法
4万
查看次数

在Linux上等待多个条件变量而没有不必要的睡眠?

我正在编写一个对延迟敏感的应用程序,它实际上想要一次等待多个条件变量.我之前已经阅读了几种在Linux上获得此功能的方法(显然这是在Windows上构建的),但它们似乎都不适合我的应用程序.我所知道的方法是:

  1. 让一个线程等待你想要等待的每个条件变量,当被唤醒时会发出一个你等待的单个条件变量.

  2. 通过定时等待循环遍历多个条件变量.

  3. 将虚拟字节写入文件或管道,然后轮询这些字节.

#1和#2不合适,因为它们会造成不必要的睡眠.使用#1,你必须等待虚拟线程唤醒,然后发出真实线程的信号,然后唤醒真正的线程,而不是真正的线程刚刚开始唤醒 - 额外的调度程序量子花费在这实际上对我的应用程序很重要,我宁愿不必使用完整的RTOS.#2更糟糕的是,你可能花费N*超时时间睡眠,或者你的超时将是0,在这种情况下你永远不会睡觉(无休止地烧掉CPU和饿死其他线程也很糟糕).

对于#3,管道是有问题的,因为如果"发出信号"的线程忙或甚至崩溃(我实际上处理的是单独的进程而不是线程 - 互斥和条件将存储在共享内存中),那么写入线程将被卡住,因为管道的缓冲区将是满的,任何其他客户端也是如此.文件存在问题,因为应用程序运行的时间越长,它就会无休止地增长.

有一个更好的方法吗?对于适用于Solaris的答案感到好奇.

c multithreading scheduling pthreads conditional-statements

27
推荐指数
3
解决办法
3万
查看次数

Linux如何处理线程和进程调度

我试图了解Linux如何处理进程调度和线程调度.我读到Linux可以安排进程和线程.

Linux有线程调度程序和进程调度程序吗?如果是,他们如何合作?

linux multithreading scheduling process

27
推荐指数
2
解决办法
3万
查看次数

DAG(有向无环图)动态作业调度程序

我需要管理ETL任务的大型工作流程,其执行取决于时间,数据可用性或外部事件.在执行工作流程期间,某些作业可能会失败,并且系统应该能够重新启动失败的工作流程分支,而无需等待整个工作流程完成执行.

python中有没有可以处理这个的框架?

我看到几个核心功能:

  • DAG建筑
  • 执行节点(运行shell cmd,等待,记录等)
  • 能够在执行期间在父DAG中重建子图
  • 能够在父图运行时手动执行节点或子图
  • 在等待外部事件时挂起图执行
  • 列出作业队列和作业详细信息

Oozie这样的东西,但更通用的目的和python.

python etl scheduling directed-acyclic-graphs oozie

27
推荐指数
2
解决办法
2万
查看次数

使用GWT调度程序

我有一个艰难的时间,了解各种方法之间的差异com.google.gwt.core.client.Scheduler接口,具体而言,scheduleDeferred,scheduleFinally,和scheduleIncremental方法.

我认为,由于我不熟悉调度程序文档所涉及的浏览器事件处理循环,因此我的理解受到了阻碍.

您能否解释一下这些方法之间的区别,以及它们如何与浏览器事件循环相关联?

browser gwt scheduling event-handling

26
推荐指数
1
解决办法
1万
查看次数