标签: batch-processing

"make"就像调度任务序列一样

我工作的公司有很多"复杂"的基于文件的批处理过程,文件序列如下:

  • 拿文件A.
  • 获取文件B.
  • 将文件A中的字段连接到文件B以生成文件C.
  • 在文件C上运行一些启发式方法来生成文件D.
  • 将文件D上传到服务器X.
  • 根据文件D和A构建报告并将其邮寄到user.name@example.com

每个步骤可能需要几个小时才能运行(文件可能包含数十亿行数据).与GNU Makefiles粘合在一起,其中包括以下部分:

fileC:fileD run-analysis $ ^> $ @

makefile文件是建模步骤之间的依赖关系,以及允许后一切要重复某个步骤(如果有一个步骤中的问题,或启发式改变等)是有用的.

使用Makefile对我来说总是很糟糕,因为它们用于构建软件,而不是运行批处理.此外,Makefile不提供任何形式的测试框架.

我的问题是,你如何协调像这样的大型序列大型操作?

makefile batch-processing

1
推荐指数
1
解决办法
496
查看次数

如何创建.BAT文件打开程序并阻止它打开新窗口?

所以我从.bat文件开始一个consol程序.我希望它作为一个进程运行,但不显示任何窗口.怎么办这样的事情?

batch-file startup batch-processing

1
推荐指数
1
解决办法
276
查看次数

Grails冲洗不起作用

我正在处理一个大型的csv文件,我发现这篇关于批量导入的文章:http://naleid.com/blog/2009/10/01/batch-import-performance-with-grails-and-mysql/.我试图做同样的事,但似乎没有效果.

每次刷新后,实例是否可以在数据库中查看?因为当我尝试查询'SELECT COUNT(*)FROM TABLE1'时,现在有0或所有entites,所以它看起来像是一次提交所有实例.

然后我还注意到,当第一次导入到空白表时,导入工作很快,但是当表已满并且实体应该更新或保存为新实体时,整个过程非常慢.这主要是因为内存没有被清理,减少到1MB或更少,应用程序卡住了.那是因为没有刷新会话?

我的导入代码在这里:

public void saveAll(List<MedicalInstrument> listMedicalInstruments) {
    log.info("start saving")
    for (int i = 0; i < listMedicalInstruments.size() - 1; i++) {
        def medicalInstrument = listMedicalInstruments.get(i)
        def persistedMedicalInstrument = MedicalInstrument.findByCode(medicalInstrument.code)
        if (persistedMedicalInstrument) {
            persistedMedicalInstrument.properties = medicalInstrument.properties
            persistedMedicalInstrument.save()
        } else {
            medicalInstrument.save()
        }
        if ((i + 1) % 100 == 0) {
            cleanUpGorm()
            if ((i + 1) % 1000 == 0) {
                log.info("saved ${i} entities")
            }
        }
    }
    cleanUpGorm()
}

protected void cleanUpGorm() { …
Run Code Online (Sandbox Code Playgroud)

grails batch-processing

1
推荐指数
1
解决办法
1422
查看次数

为什么SpringBatch MultiResourcePartitioner无法识别jobParameters?更重要的是,该怎么办呢?

这是一个非常简单的设置.我有一个潜在的5m记录的文件,我需要阅读并做一些工作,然后发送到数据库.处理和写作的机制并不重要.我需要能够将路径和文件名[/opt/etc/app/partner/input_file.csv]作为参数传递给进程.这很容易,将它添加到JobParameters并将其提供给JobLauncher.

JobParametersBuilder jpBuilder = new JobParametersBuilder() ;
jpBuilder.addString("filePath", "/opt/etc/app/partner/input_file.csv") ;
jobLauncher.run(job, jpBuilder.toJobParameters() ;
Run Code Online (Sandbox Code Playgroud)

完成,现在让上下文意识到它.再次简单的引用jobParameters问题.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:batch="http://www.springframework.org/schema/batch"
    xsi:schemaLocation="
    http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.1.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <description>PoC to demonstrate variable row content handling</description>

    <batch:job id="poc" job-repository="jobRepository" incrementer="runIdIncrementer" restartable="true">
        <batch:step id="pocReadWriteStep">
            <batch:partition step="step" partitioner="partitioner">
                <batch:handler task-executor="taskExecutor"/>
            </batch:partition>
        </batch:step>
    </batch:job>

    <batch:step id="step">
        <batch:tasklet task-executor="taskExecutor" throttle-limit="20" transaction-manager="transactionManager" allow-start-if-complete="true">
            <batch:transaction-attributes isolation="READ_UNCOMMITTED"/>
            <batch:chunk
                reader="reader"
                processor="processor"
                writer="writer"
                commit-interval="20">
            </batch:chunk>
        </batch:tasklet>
    </batch:step>

    <bean id="reader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
        <property name="resource" value="file:#{jobParameters['filePath']}"/>
        <property name="lineMapper">
            <bean class="org.springframework.batch.item.file.mapping.PatternMatchingCompositeLineMapper">
                <property name="tokenizers">
                    <map>
                        <entry …
Run Code Online (Sandbox Code Playgroud)

java batch-processing spring-batch applicationcontext

1
推荐指数
1
解决办法
3051
查看次数

Spring Batch:如何从ItemReader或ItemWriter中访问当前步骤的id/name

我是Spring-Batch的新手,我想知道是否有办法从ItemReader或ItemWriter中访问step-id

在我的情况下,允许在单个ItemReader实现中基于不同的步骤定义来切换枚举类型.

有谁知道这样做的方法?

java spring batch-processing spring-batch

1
推荐指数
1
解决办法
6451
查看次数

在z/os上使用REXX查找JOBID

任何人都可以告诉我如何通过JCL提交我的REXX -Script 的JOBID

例如,JOBNAME没问题,但到目前为止我还没有在任何ControlBlock中找到对JOBID的引用.

非常感谢你提前!

rexx zos batch-processing

1
推荐指数
1
解决办法
2183
查看次数

SAS:如何忽略错误?

我的SAS代码包含多个data步骤,并且proc sql- >彼此无关.其中一些可能会抛出错误.发生这种情况时,其余代码将终止.

我需要我的代码继续执行.即使抛出错误,只需将其放入日志中,ERROR : ... 但仍然继续执行.我怎样才能做到这一点 ?

从这里尝试了一些选项

options noerrorabend;

但我找不到任何有用的东西

sas batch-processing

1
推荐指数
1
解决办法
1534
查看次数

使用Irfanview从文本文件批量创建图像?

我有一个包含相关ID号的数千个文本字符串的文件.我想获取每个不同的文本字符串并使其成为文本的JPG图像,并使用相关的ID号命名文件.

所有字符串最多为75个字符,因此我不需要担心图像的动态调整大小以补偿更长的字符串.我只想设置一个图像大小.

我使用Irfanview来满足大多数批量成像需求,并且考虑到它的灵活性,我认为有一种方法可以做到这一点.有谁知道如何做到这一点?

image-processing batch-processing irfanview

1
推荐指数
1
解决办法
1946
查看次数

批处理变量名称中的冒号

我有一个批处理脚本,应该可以访问一个名为类似的变量env:dev,所以它里面有一个冒号...这个变量是由第三方组件设置的,所以我对这个命名没有影响......

如何在批处理脚本中访问此变量的内容?我知道这:是一个特殊的角色,所以我可以逃避它吗?以下不起作用:

echo %env:dev%
echo "%env:dev%"
echo %env^:dev%
...
Run Code Online (Sandbox Code Playgroud)

有什么建议?

windows command-line batch-processing

1
推荐指数
1
解决办法
4540
查看次数

如何将我的Rexx程序作为批处理作业运行?

我有一个Rexx程序,要作为批处理作业运行。我怎样才能做到这一点?

这是我的程序:

/* Rexx – HELLO – Write Hello World */
Say "hello World"
Run Code Online (Sandbox Code Playgroud)

该程序位于作为成员HELLOPDS ME.USER.EXEC

我的安装有效的作业卡是(我们的环境包括ISPF / PDF而不是ROSCOE):

//MYJOB    JOB ,,CLASS=1,MSGCLASS=H,NOTIFY=&SYSUID
Run Code Online (Sandbox Code Playgroud)

注意!这已经被写成一个教程

rexx zos batch-processing tso

1
推荐指数
1
解决办法
5279
查看次数