有没有办法检查我的作业在LSF队列中的位置?
如果我运行:
bjobs -u all -q my_queue
我从 中的所有用户那里获得了作业列表my_queue,但是该列表是按我的作业在队列中的位置排序的吗?
我有一个.sql脚本文件,我想每24小时运行一次.在SQL Server 2008中生成计划任务的最佳(也是最简单)步骤是什么?
谢谢.
我有一个基于独立 RunAndRenderTask 的调度程序作业。报表设计连接到远程mysql数据库来获取数据。调度程序生成 PDF 并将报告作为附件通过电子邮件发送给一组人员。只要数据库可用,此操作就有效。
但是当数据库不可用时,我可以在日志中看到错误,但 RunAndRenderTask 仍然生成一个空白且无用的 PDF 报告,并且调度程序会通过电子邮件发送该报告。我需要能够捕获此异常,然后向另一组可以解决数据库问题的人员发送电子邮件。我尝试了各种方法,但不知道该怎么做。在下面的代码中,我希望 API 返回异常,因此打印“BirtException”或“Exception”,但即使存在 JDBC 异常,此代码也会打印“Success”。任何帮助表示赞赏。
这是我的代码。
IReportEngine engine = null;
IRunAndRenderTask runAndRenderTask = null;
try {
EngineConfig config = new EngineConfig();
config.setEngineHome("birt-runtime-4_4_0/RuntimeEngine");
Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine(config);
IReportRunnable reportRunnable = engine.openReportDesign(DATA_PATH + "sample.rptdesign");
runAndRenderTask = engine.createRunAndRenderTask(reportRunnable);
PDFRenderOption option = new PDFRenderOption();
option.setOutputFileName(DATA_PATH + "output.pdf");
option.setOutputFormat("pdf");
runAndRenderTask.setRenderOption(option);
runAndRenderTask.run();
System.out.println("Success!");
} catch (BirtException e) {
System.out.println("BirtException");
e.printStackTrace();
} catch (Throwable e) {
System.out.println("Exception");
e.printStackTrace();
} finally {
if …Run Code Online (Sandbox Code Playgroud) 我有一个 Spring Batch 应用程序,我想在其中安排作业调用。
构建时不知道调度间隔,所以我不能只用@Scheduled 注释我的作业。这导致我使用了 ThreadPoolTaskScheduler。
问题是方法 schedule 将 Runnable 作为参数。是否可以通过这种方式安排作业?我可以直接从以下服务中调用该作业,但无法安排它。
这是我的问题的背景,我试图让它变得简单:
@Service
public class ScheduledProcessor{
private final ThreadPoolTaskScheduler threadPoolTaskScheduler;
private Application application;
@Autowired
public ScheduledProcessor(ThreadPoolTaskScheduler threadPoolTaskScheduler, Application application){
this.threadPoolTaskScheduler = threadPoolTaskScheduler;
this.application = application;
scheduledTasks = new ArrayList();
Trigger trigger = new CronTrigger("0/6 * * * * *");
//Here I am trying to schedule my job.
//The following line is wrong because a Job can't be cast to a Runnable but I wanted to show the intended behaviour. …Run Code Online (Sandbox Code Playgroud) 我正在推送配置了 3g 内存的批处理应用程序,
applications:
- name: batch-app
memory: 3G
services:
- scheduler
buildpack: java_buildpack
Run Code Online (Sandbox Code Playgroud)
为批处理应用程序创建作业
cf create-job batch-app job-name ".java-buildpack/open_jdk_jre/bin/java org.springframework.boot.loader.JarLauncher"
Run Code Online (Sandbox Code Playgroud)
然后按如下方式安排作业:
cf schedule-job job-name "30 * ? * *"
Run Code Online (Sandbox Code Playgroud)
现在,每个计划的作业执行都会失败,并出现以下错误:
2018-10-20 [APP/TASK/612f1b80] [OUT] Exit status 137 (out of memory)
Run Code Online (Sandbox Code Playgroud)
同一个作业作为任务运行时会成功(即使内存少于清单中指定的内存):
cf run-task job-name ".java-buildpack/open_jdk_jre/bin/java org.springframework.boot.loader.JarLauncher" --name "manual" -m 2GB
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
我创建了一个Akka的调度程序,每天发送邮件一段固定的时间(例如每天早上6点).那么如何调用演员呢?我的意思是我应该使用什么逻辑?谢谢.
我们正在使用Gearman和Supervisord在我们的服务器上排队和运行作业.我似乎无法解决的一个问题是完全从工作队列中删除Gearman工作人员.我已经尝试删除客户端/工作者源文件以及GearmanWorker::unregister从另一个工作者调用.在运行时,$ gearadmin --status我仍然在作业队列中看到worker函数.有什么建议?
我想安排一个没有crontab命令的URL负载均衡器检查作业,因为我阻止了crontab使用.我试图每1小时运行一次,但它消耗的资源更多.有没有其他有效的方法来安排作业而不使用crontab命令?
我正在运行Quartz.NET作为服务,我直接在quartz-jobs.xml文件中添加我的作业.所以为了添加和删除我处理的作业和触发器,Xml而不是正常的功能.我想知道如何通过查看其cron表达式来获得触发器的下一个触发时间?
我想在SQL Server 2012中创建一个JOB,以执行两个相关的存储过程.
Exec my_First_Procedure
Exec my_Second_Procedure
Run Code Online (Sandbox Code Playgroud)
如果我像上面那样创建JOB,第二个在第一个完成后开始执行,或者两个查询同时执行?
帮我找到它.谢谢你的建议.
job-scheduling ×10
akka ×1
birt ×1
c# ×1
cron ×1
crontab ×1
gearman ×1
lsf ×1
php ×1
quartz.net ×1
scheduler ×1
scheduling ×1
spring ×1
spring-batch ×1
sql ×1
sql-job ×1
sql-server ×1
supervisord ×1
unix ×1