标签: job-scheduling

如果计划运行议程作业时节点服务器未连接,会发生什么情况

您好,我想知道如果我们关闭服务器两天,计划每 24 小时运行一次的议程作业会发生什么情况?当我们重新启动服务器时,它能够从中断的地方继续吗?或者是什么?

似乎找不到这方面的文档,所以在服务器重新启动时我正在做的是删除任务然后重新创建它......但不确定这是否是有效的方法。

https://github.com/rschmukler/agenda

javascript jobs job-scheduling node.js angularjs

5
推荐指数
0
解决办法
275
查看次数

将 Quartz 作业定义从 XML 转换为数据源

我目前正在使用 Quartz 来执行作业调度任务,方法是通过文件jobs.xml中的以下行进行配置:quartz.properties

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
Run Code Online (Sandbox Code Playgroud)

现在,我想将我的工作存储在数据源中。我已将quartz.properties文件更改如下:

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
Run Code Online (Sandbox Code Playgroud)

我还在数据库中进行了所有其他配置更改quartz.properties,并使一切正常工作。问题是,我所有的作业和触发器都已写入jobs.xml,我需要以某种方式将它们导入数据库。

我能想到的唯一解决方案是通过 Java 代码创建作业和触发器并重新安排一切。但是,如果有像通过读取jobs.xml文件将所有作业和触发器导入数据库之类的东西,那就太好了。

有谁知道是否有类似的事情?我知道我可以编写一个程序来执行此操作,但如果已经有一个已实现的程序,我仍然想利用它。

谢谢

java quartz-scheduler job-scheduling

5
推荐指数
0
解决办法
303
查看次数

将议程作业安排在每天午夜运行

我是议程作业( https://github.com/rschmukler/agenda )的新手,无法理解如何安排作业在每天的给定时间运行。我已经尝试过以下方法:

  1. agenda.every('everyday at 00:01', ...)- 仅运行一次。
  2. agenda.schedule('at 00:01', ...)然后job.repeatEvery('1 day')但没有太大效果。

Agenda 内部使用受日期启发的Human Interval我在这里检查了日期演示,发现它已被接受,但无法很好地与议程一起使用。everyday at 00:00

任何帮助将不胜感激。谢谢。

job-scheduling node.js

5
推荐指数
1
解决办法
3792
查看次数

调度优化以最小化时隙数量(有约束)

我正在研究调度优化问题,其中我们有一组需要在特定时间范围内完成的任务。

每个任务都有一个时间表,指定可以执行该任务的时间段列表。每个任务的时间表可能因工作日而异。

这是小样本(减少了任务和时间段的数量):

task_availability_map = {
    "T1" : [0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    "T2" : [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    "T3" : [0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    "T4" : [0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python algorithm linear-programming job-scheduling or-tools

5
推荐指数
1
解决办法
2712
查看次数

延迟调用函数

我收到了这个面试练习题。

实现一个作业调度程序,它接受函数 f 和整数 n,并在 n 毫秒后调用 f。

我有一个非常简单的解决方案:

import time

def schedulerX(f,n):
    time.sleep(0.001*n)
    f
Run Code Online (Sandbox Code Playgroud)

然而,建议的解决方案更加详细,如下所示。我不明白所有这些额外代码背后的目的是什么。请赐教。

from time import sleep
import threading

class Scheduler:
    def __init__(self):
        self.fns = [] # tuple of (fn, time)
        t = threading.Thread(target=self.poll)
        t.start()

    def poll(self):
        while True:
            now = time() * 1000
            for fn, due in self.fns:
                if now > due:
                    fn()
            self.fns = [(fn, due) for (fn, due) in self.fns if due > now]
            sleep(0.01)

    def delay(self, f, n):
        self.fns.append((f, time() * 1000 + …
Run Code Online (Sandbox Code Playgroud)

python multithreading job-scheduling

5
推荐指数
2
解决办法
3192
查看次数

在MySQL中与MS SQL作业相当吗?

是否存在与MS SQL Server作业和作业调度相当的MySQL?或者这种事情在MySQL世界中被认为是一个应用层事物?

mysql sql-server migration jobs job-scheduling

4
推荐指数
1
解决办法
4201
查看次数

如何使用每日预定作业调用oracle中的存储过程?

我是oracle工作脚本的新手.我写了一些清除程序来清理所有旧数据并保留最近3个月的数据...程序执行成功.我也在手动调用时工作.程序如下:

CREATE OR REPLACE PROCEDURE Archive 
IS

       v_query varchar2(2048);
       v_tablename VARCHAR2(50);
       v_condition varchar2(50);
       TYPE cur_typ IS REF CURSOR;
       c cur_typ;
BEGIN 
    OPEN c for 'select tablename,columnname from pseb.purge_tables';
        FETCH c INTO v_tablename,v_condition;
        LOOP
           EXIT WHEN c%NOTFOUND;
           if(v_tablename ='cfw.DCTBLPERFCUMULATIVEMASTER') then
               v_query:='delete from cfw.DCTBLPERFDCUMULATIVEB3MAINREG where cumulativeid in (select cumulativeid FROM '|| v_tablename || ' WHERE ' || v_condition||' < sysdate-90';
               execute immediate v_query;
               v_query:='delete from cfw.DCTBLPERFDCUMULATIVEB4TODENERG where cumulativeid in (select cumulativeid FROM '|| v_tablename || ' WHERE ' || v_condition||' < sysdate-90'; …
Run Code Online (Sandbox Code Playgroud)

plsql oracle11g job-scheduling

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

如果作业停止运行,让Upstart向我发送电子邮件通知的最佳方法是什么?

这是我运行的工作的一个例子.如果它退出,我想收到通知,因为它保持不变是很重要的.

(我知道php不是最好的工具,但它是别人的代码,所以,无论如何)

/etc/init/watchdog.conf

# Events
start on startup
stop on shutdown

# Automatically respawn
respawn
respawn limit 20 5

# Run the script!
script
    exec $PHP_PATH/php -f $WD_PATH/index.php wd_run
end script
Run Code Online (Sandbox Code Playgroud)

php linux bash upstart job-scheduling

4
推荐指数
1
解决办法
408
查看次数

取消或删除预定作业 - HangFire

我已经通过使用Hangfire库安排了一个Job.我的预定代码如下.

BackgroundJob.Schedule(() => MyRepository.SomeMethod(2),TimeSpan.FromDays(7));

public static bool DownGradeUserPlan(int userId)
    {
        //Write logic here
    }
Run Code Online (Sandbox Code Playgroud)

现在我想稍后在某个事件上删除此计划作业.

c# asp.net job-scheduling hangfire

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

当作业需要再次执行时,由作业执行的过程未完成时会发生什么情况?

我想知道在通过作业执行过程时以及完成之前发生的事情是该作业调用该过程的下一次执行的时间。这是我创建的工作:

DECLARE
  X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
       (
          job        => x
         ,what       => 'BEGIN PKG_DISTRIBUIDOR_SCHEDULER.PRC_DISTRIBUYE_TRANSACCIONES(5000); END;'
         ,next_date  => to_date(sysdate,'dd/mm/yyyy hh24:mi:ss')
         ,interval   => 'SYSDATE+30/86400'
         ,no_parse   => FALSE
       );
       DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));   
       COMMIT;
   END;
Run Code Online (Sandbox Code Playgroud)

如您所见,作业每30秒执行一次。因此,如果我的过程(PRC_DISTRIBUYE_TRANSACCIONES)延迟超过30秒,那么在这种情况下该工作做什么?

sql oracle plsql scheduled-tasks job-scheduling

4
推荐指数
1
解决办法
64
查看次数