Oracle调度程序-单个作业可以同时基于事件和时间吗

Oracle调度程序-单个作业可以同时基于事件和时间吗,oracle,events,scheduler,jobs,schedule,Oracle,Events,Scheduler,Jobs,Schedule,嗨,我是Oracle Scheduler的新手。我的问题是-我们能否在单个作业的调度对象中同时给出重复间隔和事件条件 我在作业调度中有这个要求-作业应该在计划的时间运行,但只有在发生特定事件时才运行 例如 作业1应该运行 -每天上午10点 -但前提是昨天的工作不再运行。(我将根据表条目来计算。)因此事件将是一个单元格条目,在表job_status中显示'end' 如果我能在同一份工作中同时提供这两种信息会更容易。另外一种方法我会尝试——根据时间安排工作。如果早期实例仍在运行,请根据事件重新安排作

嗨,我是Oracle Scheduler的新手。我的问题是-我们能否在单个作业的调度对象中同时给出重复间隔和事件条件

我在作业调度中有这个要求-作业应该在计划的时间运行,但只有在发生特定事件时才运行

例如

作业1应该运行 -每天上午10点 -但前提是昨天的工作不再运行。(我将根据表条目来计算。)因此事件将是一个单元格条目,在表job_status中显示'end'

如果我能在同一份工作中同时提供这两种信息会更容易。另外一种方法我会尝试——根据时间安排工作。如果早期实例仍在运行,请根据事件重新安排作业。但这看起来很笨拙

提前谢谢


Mayank

我将在过程本身的PL/SQL中对条件进行编码。i、 e.它每天上午10点运行,但它做的第一件事是检查上一个作业是否已成功完成。

您可以做的是创建3个作业

  • 事件/任务
  • 重复工作
  • 实际工作

  • 事件作业和重复作业只需开始实际作业。如果该方法已经运行或仍在运行,则会出现一个错误,您可以据此作出反应。

    是的,这是我所说的第二种方法。但这意味着,如果上一个作业没有完成,我需要为“上一个作业完成”事件创建一个新作业检查,只运行一次;每次作业运行时,它首先计算出哪些任务(或多个任务)尚未完成,然后执行这些任务。如果失败,下一次作业运行时,它将看到上一个作业本应执行的任务没有完成,并将再次尝试执行这些任务。类似于ik_zelf的建议。尝试使用工作链来实现这一点。您可以定义作业之间的链规则和依赖关系。