PCF 调度作业

Posted

技术标签:

【中文标题】PCF 调度作业【英文标题】:PCF Scheduling jobs 【发布时间】:2018-05-11 05:43:12 【问题描述】:

我一直在尝试通过 PCF 调度程序安排 Spring Cloud 任务,但是我无法从应用程序/任务创建作业(按照网站上的此文档 - http://docs.pivotal.io/pcf-scheduler/1-1/using-jobs.html

    $ cf 应用程序 名称请求状态实例内存磁盘 url 云任务停止 0/1 750M 1G

    $ cf 服务 名称服务计划绑定的应用程序 最后一次操作 my-scheduler scheduler-for-pcf 标准云任务 创建成功

    $ cf create-job cloud-task my-task-job ".java-buildpa ck/open_jdk_jre/bin/java org.springframework.boot.loader.JarLauncher"

创建作业 ←[33;1mmy-task-job←[0m for ←[33;1mcloud-task←[0m with command ←[33;1m.java-buildpack/open_jdk_jre/bin/java org.springframework.boot .loade r.JarLauncher←[0m in org ←[33;1mglobal-sales-marketing-customer-experience←[0m / space ←[33;1m141349-dev←[0m as ←[33;1mzzh1bb←[0m ←[31;1m失败←[0m 未找到请求的资源。 未找到 您必须在此空间中创建调度程序服务的实例才能使用调度程序服务。

不确定为什么作业创建命令无法找到调度程序服务的实例 - 我在这里遗漏了什么吗?

另外,想知道spring-cloud-data-flow中是否有可以调度任务的东西。

【问题讨论】:

【参考方案1】:

从输出中,您应该能够在该组织/空间中创建工作。

用户 (zzh1bb?) 是否拥有 SpaceDeveloper 权限? SpaceAdmin 也应该足够了。

cf 任务是否成功执行:

cf run-task cloud-task ".java-buildpack/open_jdk_jre/bin/java org.springframework.boot.loader.JarLauncher"

并通过以下方式查看结果:

cf tasks cloud-task

另一个诊断步骤可能是检查此处描述的 api 调用的输出: http://docs.pivotal.io/pcf-scheduler/1-1/api/#create-job

您使用的是哪个版本的 PCF,以及您使用的是哪个版本的 PCF 调度程序?云控制器 api 在 1.10、1.11 和 1.12 之间发生了重大变化,导致调度程序服务无法在所有这些版本中工作。

就调度 SCDF 而言,Scheduler for PCF 服务可以与 SCDF 结合使用,以允许您从 Scheduler for PCF 调用 (https://docs.pivotal.io/pcf-scheduler/1-1/using-calls.html) 调用任务执行端点。

使用执行端点调用 SCDF

http://...scdf server.../tasks/executions?name=taskA

在此处记录:

https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#_launching_a_task_2

这非常有用和方便,尤其是在同一空间中创建 SCDF 服务和 PCF 服务的调度程序时。

【讨论】:

以上是关于PCF 调度作业的主要内容,如果未能解决你的问题,请参考以下文章

作业调度—了解

SGE作业调度系统的简单理解

详谈改进的遗传算法求解柔性作业车间调度问题论文

如何检查是不是在 Firebase 作业调度程序中安排了作业?

操作系统作业常见算法-个人复习用

使用 firebase 作业调度程序安排重复作业