问题描述
大家好,
对于我们的客户,我们在晚上开始一个流程,以生成400商店的订单。每个商店都可以在白天重新生成其订单,因此该过程分别为每个商店执行。
对于每个商店,我们都以商店编号为参数开始计划的作业。因此,在夜间有400计划的作业,每个作业用另一个参数执行相同的打包过程,我们的监视器显示400作业执行。如果一个作业失败,我们会发送一封电子邮件,以便我们可以采取适当的措施重新启动作业。
我的问题。Oracle调度程序是否并行执行这些作业?这是要走的路吗?由于我们希望在完成400作业后触发一封邮件,因此使用具有400链步骤的链创建一个作业是否更容易?或者我们应该在sql代码中解决这个多存储问题?
亲切的问候,
Gijs。
对于我们的客户,我们在晚上开始一个流程,以生成400商店的订单。每个商店都可以在白天重新生成其订单,因此该过程分别为每个商店执行。
对于每个商店,我们都以商店编号为参数开始计划的作业。因此,在夜间有400计划的作业,每个作业用另一个参数执行相同的打包过程,我们的监视器显示400作业执行。如果一个作业失败,我们会发送一封电子邮件,以便我们可以采取适当的措施重新启动作业。
我的问题。Oracle调度程序是否并行执行这些作业?这是要走的路吗?由于我们希望在完成400作业后触发一封邮件,因此使用具有400链步骤的链创建一个作业是否更容易?或者我们应该在sql代码中解决这个多存储问题?
亲切的问候,
Gijs。
专家解答
Does the Oracle scheduler execute these jobs in parallel?
是,基于参数 'job_queue_process'
And is this the way to go?
如果你需要那个级别的并发,那么是的。当然,如果它需要 (说) 1秒钟来处理一个商店,我可能会倾向于在一个工作中运行 (说) 'n' 商店,这样你就不会在不需要的时候用400同时运行的工作淹没数据库。
Since we want to trigger one mail after completion of 400 jobs
一些日志记录可以处理这个。提交每个存储时,在表中为每个存储记录一行,然后让每个存储作业更新该行,显示 “完成” (或失败)。也许甚至标准的字典视图就足够了 (取决于你的应用程序)。然后提交一个额外的工作,只需投票,每一分钟,检查是否有任何仍在运行的工作-如果是这样,那么什么也不做,如果所有的工作都完成了,然后发送电子邮件并删除自己。
是,基于参数 'job_queue_process'
And is this the way to go?
如果你需要那个级别的并发,那么是的。当然,如果它需要 (说) 1秒钟来处理一个商店,我可能会倾向于在一个工作中运行 (说) 'n' 商店,这样你就不会在不需要的时候用400同时运行的工作淹没数据库。
Since we want to trigger one mail after completion of 400 jobs
一些日志记录可以处理这个。提交每个存储时,在表中为每个存储记录一行,然后让每个存储作业更新该行,显示 “完成” (或失败)。也许甚至标准的字典视图就足够了 (取决于你的应用程序)。然后提交一个额外的工作,只需投票,每一分钟,检查是否有任何仍在运行的工作-如果是这样,那么什么也不做,如果所有的工作都完成了,然后发送电子邮件并删除自己。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




