假设我想构建一个API,用于(1)提交要执行的作业,以及(2)稍后获取它们的结果/状态。
现在,提交endpoint接收一个有效负载和一些头。有效负载通过一个定制的JpaRepository持久化,头部被推送到JobParameters的一个实例中(然后被馈送到JobLauncher)。据我目前所知,有一个JobRepository最终将持久化我的JobParameters。
A.关于这个设计,我的第一个问题是:应该使用JobRepository来持久化作业负载,而不是在自定义的JpaRepository中这样做吗?
B.我想访问某个作业的JobParameters(通过作业ID,当作业提交到JobLauncher时,通过JobExecution返回;这是标准的Spring批处理)。
这可能来自普通bean(@Service类)吗?
>
JobRepository不公开任何访问作业id的内容,并返回与之关联的作业参数。
有一个JobExecutionDao,给定一个执行ID,可以让我访问JobParameters,但我无法将其注入我的bean。
参数
我会回答你的问题,然后告诉你我将如何做。
A.关于这个设计,我的第一个问题是:应该使用JobRepository来持久化作业负载,而不是在自定义的JpaRepository中这样做吗?
B.我想访问某个作业的JobParameters(通过作业ID,当作业提交到JobLauncher时,通过JobExecution返回;这是标准的Spring批处理)。
给定作业执行id,可以使用JobOperator#getParameters(Long executionId)获取参数
下面是我将如何实现您的要求:
假设我想构建一个API,用于(1)提交要执行的作业,以及(2)稍后获取它们的结果/状态。
问题内容: 我们有要与HDFS集成的特定算法。该算法要求我们在本地访问数据(该工作将专门在中完成)。但是,我们确实希望在分发文件方面(提供可靠性和条带化)利用HDFS。计算完成后,我们将使用来简单地将答案发送回去,而不是执行任何其他工作。避免使用网络是一个明确的目标。是否存在允许我们限制网络数据访问的配置设置,以便在启动MapReduce作业时仅访问其本地DataNode? 更新: 添加一些上下文
问题内容: 我找不到一个提交不使用不推荐使用的类的Hadoop作业的示例。 尚未弃用的,仍然仅支持带有参数的方法。 有人可以给我指出一个Java代码示例,该示例仅使用类(而不是)提交Hadoop map / reduce作业,而不是使用包吗? 问题答案: 希望对您有所帮助
我有一个执行一些活动的类,我想创建一个自动处理这个操作的作业,例如每x分钟调度一次。我使用的是Quartz,这个类实现了Job,在我的driver类中,我创建了jobdetail、scheduler和触发器,然后启动它。但是,作业未执行,日志信息: 我的驱动程序类中的排定程序代码: 其中“testmkfpmjob”是处理我的操作的作业类,并且strTimeSched已经被提取并设置为120从 我一
问题内容: 我想通过接受用户的日期字段(格式为YYYY-MM-DD)来运行jenkins作业 。我找到了一个链接,用户可以在其中输入字符串参数: stringparameter: But in string param user can enter any thing. So how do I force user to enter a date field like a calender fie
我已经将Jenkins build配置为构建gradle项目并在其上运行测试(使用connectedInstrumentTest),但构建在启动几秒后失败。 com.android.ddmlib.installexception在com.android.ddmlib.device.installpackage(device.java:884)在com.android.builder.testing
我得和Spring批处理问题。都与通过命令行传入的JobParameters有关。 第一期: 为了从JobParameters获取路径,我使用BeforeStep注释加载JobParameters并将它们复制到局部变量上。不幸的是,这不起作用。变量将为并且执行失败,因为文件无法打开。 如何访问读取器中的作业参数?我想将文件路径作为命令行参数传入,然后读取这个文件。