问题标签 [batch-processing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 什么是高可用性授权服务的正确解决方案?
我在一家软件商店工作,该商店有一个内部预测拨号器产品,我们需要实施一个解决方案来遵守 DO-NOT-CALL 列表。
基本上,我有一个包含我需要拨打的客户/潜在客户的数据库,以及另一个包含我无法拨打的电话号码的数据库。由于该系统是一个预测拨号器,根据操作性能、时间平均值等,它会为每个登录的系统用户拨打或多或少的电话。通常这个“神奇”数字是每个登录的代理大约 3 到 4 个呼叫。
预测拨号器的电话号码存储库是一个 PostgreSQL 数据库。预测拨号器从数据库中挑选一堆号码,然后向 pbx 发送一个命令来拨号,然后业务逻辑继续将有效呼叫转移到呼叫中心文员等(这与我的无关问题是在通话之前)。
我需要实现请勿呼叫列表功能。政府机构将每天以 CSV 文件的形式向我们公司提供此拒绝来电清单。每次我收到一个新的 CSV 文件时,我都必须清除旧的请勿呼叫列表,并将新的放在适当的位置。
我实现它的第一个想法是进行批处理,将 DO NOT CALL LIST 与我当前的客户数据库进行交叉引用。但我认为,根据两个数据库的大小,交叉引用会非常耗费性能,有时无法在一夜之间完成。我以前在批处理时遇到过这种问题,这不是一件好事。
当我想到大型机构如何处理高性能和高吞吐量的授权系统(例如信用卡或用户身份验证/授权)时,我的第二个想法出现了。我认为为 DO NOT CALL LIST 号码创建身份验证服务,并更改我的预测拨号器的算法以在拨号之前根据此授权服务检查每个号码会很整洁。
由于我只是在这里胡说八道,我不知道哪个想法是最好的,或者我是否完全错了,应该转向另一个方向。所以,我的问题是:你的建议是什么?将 DO NOT CALL CSV 文件存储在内存中?使用 LDAP?使用 MySQL?PostgreSQL?做批处理的事情吗?还是我绝对搞砸了?
我知道我不是世界上第一个遇到这种问题的人,所以请赐教。
c# - 共享主机环境中的服务器端批处理
我正在编写一个将托管在共享托管环境中的网站。因此,我将无法访问诸如任务调度程序之类的东西。该网站需要每半天进行一次各种检查。在这种情况下触发这些任务的最佳方式是什么?
我能想到的最好的两件事在哪里:
- 每次用户访问我的网站时触发该进程 - 执行某种检查以查看该进程上次运行的时间,如果它大于 12 小时运行该进程。
- 有一些运行进程的隐藏页面,然后让一些外部实体每隔 12 小时 ping 这个页面。
这两种方法似乎有点笨拙?
php - 如何在 PHP 中进行长时间的批处理?
当我需要从上传的 CVS 文件更新我的数据库表时,我有批处理,大约 100000-500000 行。通常需要 20-30 分钟,有时会更长。
最好的方法是什么?有什么好的做法吗?任何建议将不胜感激
谢谢。
windows - 如何在 Windows 批处理编程中获取管道中命令的错误级别?
批处理文件默认返回最后一条命令的错误码。
是否有可能返回前一个命令的错误代码。最值得注意的是,是否可以在管道中返回命令的错误代码?
例如,这个单行批处理脚本
返回foo的错误代码。但是这个:
总是返回tee的退出代码,该代码为零。
svn - Subversion 标记和安全性
我已经从头开始建立了一个 SVN 存储库,并且我已经使用 SVN 复制命令成功地标记了我的一些版本。
我为 apache 使用了 SSPI auth 插件,所以我们的开发人员只需使用他们的网络凭据访问服务器,一切正常。
我创建了一个 AuthZ 授权文件,将我们的开发人员添加到文件中的组,并授予他们对 root 的写入权限。我还授予匿名用户对 root 的只读访问权限。
然后我使用以下命令锁定 /svn/ 目录: Require-group "CORP\CKAN0BlahBlah"
这有效地将安全组中的新开发人员限制为只读访问权限,直到他们通过 aAuthZ 配置文件获得访问权限。
现在,我有几个问题:
防止用户对任何“标签”目录提交更改的正确方法是什么(除了荣誉系统)?
是否可以使用 SSPI 将组的成员传递给 AuthZ,而不是在配置文件中单独列出成员?
database - 在 AIX 上从 isql 调用的 Sybase 存储过程:如何处理返回码
我有一个 AIX 批处理作业,它使用 isql 在 Sybase 中执行存储过程。存储过程在某些情况下返回错误代码。我希望 isql 将该返回码传递给 AIX 脚本。
我可以在 isql 中捕获存储的 proc 的返回代码,还是我必须编写某种输出文件并让我的 AIX 脚本检查它?
这是 isql 命令的外观。它在 Korn shell 脚本中运行。
nhibernate - 一次将 1000 多条记录保存到数据库中
我目前正在使用 NHibernate。我有一种情况,我需要像这样将一堆记录保存到数据库中:
当有大量记录要保存时,必须多次访问数据库显然非常费力。有什么更好的方法?我可以做某种批量更新吗?我最好使用数据集吗?
谢谢
makefile - “制作”就像调度任务序列
我工作的公司有许多“复杂”的基于文件的批处理,其中包含一系列文件,例如:
- 取文件 A
- 获取文件 B
- 将文件 A 中的字段连接到文件 B 以生成文件 C
- 对文件 C 运行一些启发式方法以生成文件 D
- 上传文件 D 到服务器 X
- 基于文件 D 和 A 构建报告并将其邮寄到 user.name@example.com
每个步骤都可能需要数小时才能运行(文件可能包含数十亿行数据)。while 东西与 GNU Makefiles 粘合在一起,其中包括以下部分:
fileC: fileD 运行分析 $^ > $@
Makefile 可用于对步骤之间的依赖关系进行建模,以及允许重复某个步骤之后的所有内容(如果某个步骤有问题,或者启发式方法已更改等等)。
使用 Makefile 对我来说总是很糟糕,因为它们用于构建软件,而不是运行批处理。此外,Makefile 不提供任何形式的测试框架。
我的问题是,您如何协调像这样的大型序列大型操作?
batch-file - 批处理脚本安装过程
我计划使用现有程序的高级版本向客户发布我们的软件,该程序使用 Windows 批处理脚本。我希望改进此过程并自动安装以下项目:
- 文件。文件被简单地复制到目的地。
- MSSQL 数据库。我想我会使用 OSQL 命令对数据库运行这些命令。
- IIS 虚拟目录。Windows 的服务器版本通常安装了 IIS 工具包,其中包含一些用于从命令行创建虚拟目录和诸如此类的工具,所以我将使用它。我认为“iiscnfg”是我用来将以前保存的配置文件插入 IIS 的那个。
- Windows 服务。我们的服务能够从命令行自行安装。
因此,对于每个应用程序部署,我都有这样的结构:
所以基本上你打开一个终端和 CD 到 Releases 目录,运行类似的命令:
这将在 Release3 目录中的所有应用程序上运行一系列命令,并复制所有文件、配置、安装所有数据库和 iis 虚拟目录。
它还有一些其他功能,例如备份文件的目标目录等,但目前无关紧要。
我的问题是,是否有人有这样的部署经验,如果有任何错误,我可以从其他人的经验中学习。
不幸的是,我们不能使用 MSI 软件包或 NullSoft 软件包(我暂时不知道他的名字)。如果它不是这样完成的,它是手动完成的,所以我真的想在这里帮助自己。
batch-file - 通过更改一个文件的部分名称来重命名一组模板文件的批处理代码(所有文件将更改复制到相同的文本)
我创建了一个包含文件夹作为模板的文件系统,用于重新创建一组信息,以便在我们接受预订时使用,并且需要一个批处理命令来重命名目录中的所有文件,但以一种非常具体的方式。因此,更准确地说,该目录包含:一个文件是发票模板(PDF 表格),另一个是工作描述模板(MSWord),还有一个是用于特殊用途的附加模板(也称为 MSword)。
还有一些文件,但我想我不需要全部命名。
每次处理预订时,我都会复制模板目录(包含所有这些文件模板),然后根据作业编号重新命名。然后,我将其重新定位在“bookings”目录下,并将其放入代表工作预定月份的文件夹中。
在第一步中,我怎样才能让目录中的所有文件自动重命名以适应。edirectory 中的每个文件都有不同的命名,但是当我手动完成每个文件的重命名时,它们都共享一个共同因素,即作业编号。所以我需要的只是将每个文件名的一部分更改为该预订的工作编号,而将文件名的其余部分保持原样。我认为这将节省我处理的预订数量的大量时间。(CRM 软件即将问世,但在现阶段还有些遥远)。
例如,如果我将模板目录从名称“template”更改为“CFI-00123 (1P2H)”,那么在目录中名为“invoice# 000.pdf”的文件应变为“invoice# CFI-00123.pdf”,另一个名为“job# 000.docx”的文件应变为“job# CFI-00123.docx”
使事情复杂化 的是:工作编号看起来像这样:CFI-00123 (2PBR)。所以该目录将被准确命名。但是,我想在其中的文件中复制的部分只是“CFI-000123”,而不是括号中的部分(2PBR)。这只是帮助我一目了然地确定工作要求的附加信息,我不需要其中的每个文件来反映这一点。
我从来没有写过批处理代码,在使用 html 时我有一个模糊的理解,所以我需要有人准确地告诉我该做什么以及该写什么。
提前感谢您的宝贵时间,如果您有任何问题,我会尽量说清楚。希望这不是太难理解。
干杯,丹尼。