我有一项WCF服务,该服务处理来自SAP的成千上万记录的供稿.服务调用将XElement作为其主要参数,并处理XML以更新数据库中的记录.当前的意图是使WCF服务不同步,并将服务调用发送回呼叫者,并带有每个已处理的记录的状态. 我也在研究多线程处理数据的方法,尽管这可能不会最终买任何东西. 因为这可能需要一段时间,所以我担心如果WCF服务死亡,重新启动等.完成其余记录的处理. 我能想到的最好的是用状态更新每个节点(无论如何,我必须这样做,以发送回呼叫者),然后将此文件保存到硬盘驱动器中.但是保存一个可能确实可行的大量可能是可行的文件. 在处理这些记录时,我还可以使用哪些其他策略来跟踪这些记录? tia! 詹姆斯 解决方案 也许您可以将记录(从XML)放在数据库中,也许是在一个特殊的"要处理的记录"表中.每行还可以通过某种方式标记,以将它们与特定请求相关联.处理数据库的行.处理每个操作时,请更新状态字段(对应于您将在XMlelement上更新的节点状
以下是关于 batch-processing 的编程技术问答
我在以grep获得的几行中的几行中有几个特定字符串的出现. $ grep -rn --include="*.cpp" mystring lib/mlib/actionbuttonrule.cpp:300: mystring Foobar... lib/mlib/actionbuttonrule.cpp:314: other mystring lib/mlib/item.cpp:3025: /* mystring**/ lib/mlib/item.cpp:3082: mystring Foobar... lib/mlib/item.cpp:3095: Foo mystring bar 我想在相应的行上序列地打开这些文件.我试图用vim来做到这一点,但是到目前为止,在打开线路时还没有成功. 一定不能是vim或grep,但我认为那里必须有某种功能... 解决方案 您可以在VIM的QuickFix列表中
我希望将文件夹中的所有音频(mp3)转换为视频(MP4).这是为了将音频上传到YouTube.我有一个工作代码,但我想自动化整个过程. 这是我正在使用的.bat文件中的代码. (来源: ffmpeg ffmpeg batch图像 +多个音频到视频 ) echo off for %%a in ("*.mp3") do "C:\ffmpeg\bin\ffmpeg" -loop 1 -i "C:\ffmpeg\bin\input.jpg.jpg" -i "%%a" -c:v libx264 -preset veryslow -tune stillimage -crf 18 -pix_fmt yuv420p -c:a aac -shortest -strict experimental -b:a 192k -shortest "C:\mp4\%%~na.mp4" pause " c:\ ffmpeg \ bin \ ffmpeg" codec的文件夹 " c:\ ffm
我有几个培训视频.所有.mp4s. 我想从开头删除3.5秒,从整个文件夹的末端开始4.5秒... 我知道ffmpeg和ffprobe-但是我对它们的知识和掌握都是有限的. 有人可以为此提供脚本,或者至少可以使我容易的程序?我一直在搜索,每次都可以达到末端或无法使用的脚本. 我也开放使用Linux/Windows,但不使用Mac. 编辑:第一部分完成.将继续进一步研究此命令以学习批次;这是简单的部分,如何批量修剪MP4的整个文件夹: for %%a in ("*.mp4") do ffmpeg -i "%%a" -ss 00:00:03.5 -vcodec copy -acodec copy "newfiles\%%~na.mp4" pause 解决方案 我非常感谢这里的每个人都鼓励我继续搜索,我找到了一个完美的解决方案.这里是.恐怕即使在评论中给出的例子却躲避了我,但我仍然会尝试阅读并自我教育这些命令.再次感谢.替换8.25(末端修剪)和4.2
我有一堆我想通过Avisynth运行的单个文件.但是,AVS文件只能创建一个视频.据我所知,无法从命令行声明变量的值. 我知道您可能可以创建一个生成一堆AVS文件的脚本,然后以某种方式将每个AVS文件转换为视频.但是,由于Avisynth是一个脚本系统,因此这似乎很复杂.必须有某种方法可以通过脚本运行不同的视频,对 最好的方法是什么?预先感谢. 解决方案 我从未找到过将命令行参数直接传递到AVS脚本的方法. 即时生成脚本是我使其正常工作的唯一方法. 我知道这不是您要寻找的答案 - 但是,两种生成脚本的方法: 模板脚本 当我有一个AVS脚本时,我会使用它,其中更改的唯一参数是源输入文件. 我有一个脚本template.avs,它期望一个包含源视频的完整路径的变量(v).然后,批处理脚本只需为每个视频文件的变量预处以上的行,类似于以下内容: @echo off if "%1" == "" ( echo No input video f
我需要编写一个批处理文件或将重命名文件的vbScript.我需要将文件名中的所有内容保留到第二个"".但是删除了第二个点之后发生的一切. 这是文件名的样子: nnnnnnnnnnnnnnnn.xxxxxxxx.dddddddddd.pdf n = 16数字0-9 x =此格式的日期Ex:02232008 d = 10号0-9,这是我要删除的文件名的一部分. 我需要从上面的示例中删除D的D,但将其余的文件名称保持不变.我需要能够在包含约3,000个PDF文件的文件夹上运行此批处理文件.它可以直接放回同一文件夹中,也可以输出到其他文件夹中. 解决方案 在vbscript中,您可以使用 之类的东西 ' the file paths. hardcoded, but you could alternatively collect these via command line parameters Const IN_PATH = "path\to\direct
我目前正在从事一个自动化项目.我需要的一个步骤之一,我需要将大于6000kb的文件与文件夹中的其他文件分开.我正在寻找一个能够将大于6000kb的文件从当前目录移动到另一个目录的批处理文件.我需要此批处理文件来处理一批文件,而不仅仅是一个文件.关于如何在批处理文件中执行此操作的任何想法? 解决方案 如果要使用vbscript,则可以将此脚本用作基础: ' use a default source path or get one from the command line parameters dim sourcepath: sourcepath = "some\default\path" if WScript.Arguments.Named.Exists("source") then sourcepath = WScript.Arguments.Named("source") end if ' use a default destination path or g
我有一个从链接复制的vbscript /a> 在现有的VBSScript中,我添加了" Internet Explorer版本"的代码: ws脚本 - 命名password.vbs( 请参阅上面链接中的完整脚本 ) strPw = GetPassword( "Please, type your password:" ) Sub Submit_OnClick Const ForWriting = 2 Dim filesys, filetxt, FormContent Set FormContent = document.getElementById("strPw") Set filesys = CreateObject("Scripting.FileSystemObject") Set filetxt = filesys.OpenTextFile("c:\temp.txt", ForWriting, True) filetxt.WriteLine(FormConten
我想从Admintasks Line执行命令时隐藏Admin.Bat Console窗口.是否可以使用vbscript或另一种隐藏控制台的方式给出pid? run.vbs Set oShell = CreateObject ("Wscript.Shell") Dim strArgs strArgs = "cmd /c admin.bat" oShell.Run strArgs, 0, false admin.bat @echo off title=mycmd echo test NET SESSION IF %ERRORLEVEL% NEQ 0 GOTO ELEVATE GOTO ADMINTASKS :ELEVATE CD /d %~dp0 MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%~nx0', '', '', 'runa
我想检查一个过程是否正在运行? 如果该过程未运行,则我执行它(在此示例中,我使用了带有过程名称= calc.exe的计算器) 我启动了批处理脚本,但是我有一个语法问题! @echo off Set MyProcess=calc.exe echo %MyProcess% pause for /f "tokens=1" %%i In ('tasklist /NH /FI "imagename eq %MyProcess%"') do set ff=%%i echo %ff% If /i %ff%==%MyProcess% (Echo %ff% est en cours d^'execution) Else (Start %MyProcess%) pause 解决方案 这是使用代码作为基础进行操作的另一种方法: @echo off Set "MyProcess=calc.exe" echo "%MyProcess%" tasklist /NH /FI "imagename e
我即将使用MSSQL进行批量编程,例如: create function xy ( ..... end go create function2 xy ( ... end go 然后,我将其保存在一个文件中,我的宏将其读为字符串,并在ADO试图运行的情况下将其读取.不幸的是,我一直都会收到以下错误消息:" go"附近的语法不正确.我一直在阅读有关它的信息,并且只找到了分组分组的解决方案,但是我真的不想要它,因为我将其放在一个字符串变量中.我在VBA中的连接字符串如下(首先是公共声明变量): Public conn As ADODB.Connection Public rs As ADODB.Recordset Public cmd As ADODB.Command Public sConnString As String On Local Error GoTo err sConnString = "Provide
我真的不知道VBA,但是过去处理代码方面取得了一些成功.我被这一问题陷入困境,在那里我试图将2个不同的想法混合在一起.我想做的是将质量查找并用弹出框替换为(1)选择或插入路径(包括子文件夹); (2)插入"查找文本"; (3)插入"替换文本"; (4)浏览所有子文件夹中的所有.docx文件. 我发现此代码可以在一个文件夹上完成我想做的事情,但无法弄清楚如何操纵它以包括子文件夹: Sub FindAndReplaceInFolder() Dim objDoc As Document Dim strFile As String Dim strFolder As String Dim strFindText As String Dim strReplaceText As String ' Pop up input boxes for user to enter folder path, the finding and replacing texts.
我发现了一个非常有用的perl 在这里将文本文件的文件名写入文件的第一行.我正在从OS X Yosemite中的终端运行此操作: perl -i -pe 'BEGIN{undef $/;} s/^/\nFilename:$ARGV\n/' `find . -name '*.TXT'` 有了一些修改,我认为它已经解决了我的特定问题,但是我要拾取的文件是UTF-16LE,此后我发现此命令是在UTF-8中写的,并使输出变得一团糟(文本明显正确,但在Excel,Filemaker等的计算中未识别). 经过多次尝试,我需要帮助以获取此脚本将文件名在文件开始时编写文件名. (注意:我现在确实有一个解决方案,将批处理转换文件转换为UTF-8,然后运行此操作,但是我希望在一个步骤中拥有此工作流). 解决方案 ReinierPost是正确的 - 更多的是删除原始的Unicode字节订单标记(BOM).最终有效的是: perl -i -pe 'BEGIN{undef $/;}
我有数百个文件需要更改其文本的一部分. 例如,我想用" rtmp://"替换" http://"的每个实例. 文件具有.txt扩展,并分布在几个文件夹和子文件夹中. 我基本上是在寻找一种方式/脚本,每个文件夹/子文件夹和每个文件都会陷入困境,如果在该文件中找到" http"的出现,则将其替换为" rtmp". 解决方案 您可以通过find和sed的组合来完成此操作: find . -type f -name \*.txt -exec sed -i.bak 's|http://|rtmp://|g' {} + 这将创建每个文件的备份.我建议您检查一些以确保完成您想要的工作,然后可以使用 删除它们 find . -name \*.bak -delete 其他解决方案 这是我用来做的zsh函数: change () { from=$1 shift to=$1 shift
我正在使用R软件包Twitter将项目发布到Twitter.我将所有功能都放在一个功能中,而且效果很好.但是,我想在不提示响应的情况下运行该功能,而且我还没有弄清楚如何做到这一点.有什么建议吗? 这是我功能的裸露骨头: doit ) { # connect to Twitter setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret) } 当我从命令行运行该功能时,我会提示我进行交互式响应. [1] "Using direct authentication" Use a local file to cache OAuth access credentials between R sessions? 1: Yes 2: No Selection: 我可以在setup
我试图使用镶木quet数据文件运行批处理变换推理作业,但找不到任何东西.它说批处理变换的任何地方都接受格式类型为文本/CSV或JSON.出于测试目的,我确实尝试使用AWS帐户中的Lambda函数来调用Parque数据,但是批处理转换作业从未成功.拥有客户端:400,错误解析数据. request = \ { "TransformJobName": batch_job_name, "ModelName": model_name, "BatchStrategy": "MultiRecord", "TransformOutput": { "S3OutputPath": batch_output }, "TransformInput": { "DataSource":
给出了带有时间戳记录的SQL表.每隔一段时间应用程序App0做foreach record in since(certainTimestamp) do process(record); commitOffset(record.timestamp)之类的事情,即,它会定期消耗一批"新鲜"数据,依次对其进行处理,并在每个记录后取得成功,然后才能在合理的时间内睡觉(累积了另一个记录批).与单个实例完美搭配.但是如何加载平衡多个? 在完全相同的环境中App0和App1 同时竞争新的数据.这个想法是,由App0 执行的就绪查询不得在App1执行的相同读取查询中覆盖 - 使他们永远不会尝试处理相同的项目.换句话说,我需要基于SQL的保证可以同时读取查询返回不同的数据.那甚至可能吗? P.S. Postgres是首选选项. 解决方案 问题描述在 app1 时相当模糊,而 app0 正在处理先前选择的记录. 在此答案中,我做出以下假设: 所有应用程序以某种方式知道最后一个ce
我已经开始使用mysql2宝石.我正在尝试找出一些基本的事情 - 其中之一是如何明确执行交易(对于批处理操作,例如多个插入/更新查询). 在旧ruby-mysql中,这是我的方法: client = Mysql.real_connect(...) inserts = [ "INSERT INTO ...", "UPDATE .. WHERE id=..", # etc ] client.autocommit(false) inserts.each do |ins| begin client.query(ins) rescue # handle errors or abort entirely end end client.commit 我在文档中找不到太多 - 如何使用mysql2? 完成同样的事情 解决方案 我只是完成了一个实现: class DBConnector def transaction(&blo
我正在使用一个大数据集,因此我正在尝试使用train_on_batch(或适合epoch = 1) model = Sequential() model.add(LSTM(size,input_shape=input_shape,return_sequences=False)) model.add(Dense(output_dim)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=["accuracy"]) for e in range(nb_epoch): for batch_X, batch_y in batches: model.train_on_batch(batch_X,batch_y) # or # model.fit(batch_X,batch_y
是否可以修改tomcat的某个批处理文件,以便在将Web服务设置为启动的Tomcat之前会做检查或修改某些文件之类的事情? 所以我们想要的是每次tomcat服务开始,对Tomcat托管的应用程序所需的某些特定文件进行一些修改. 如果可以通过tomcat中的一个批处理文件进行操作,那么我们应该修改哪个批次文件?任何想法都将不胜感激.顺便说一句,我们正在使用tomcat 7. 解决方案 简短的答案:是不可能的,至少没有简单的方法可以做到这一点,就像在页面上的Shashank Kadne指出的那样.除了通过startup.bat启动tomcat并将您的代码(或对蝙蝠文件的调用)放在setenv.bat文件中,以与startup.bat.startup.bat. 如果您试图在单个tomcat安装上运行詹金斯,文物和类似的应用程序 - 如该页面上所讨论的 - 更好的方法是为每增加一个额外应用程序. 这样,您可以将每个应用程序作为Windows服务并将其作为服务控制.