问题标签 [cfthread]
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.
batch-file - 无法使用 CFThread、CFExecute 和 Plink 触发脚本
我需要在我们的网络上运行一个远程脚本来导入文件。如果我手动运行它,我已经设置了 plink 并让它根据需要工作。
plink name@localserver -ssh -i myKey.ppk /home/here/scriptName.sh
我们在 ColdFusion 中编写代码,因此它将使用 CFExecute 在 CFThread 中运行。当我通过代码运行 cfexecute 时不会出错,它只是不会触发脚本。
在我的研究中,我发现有人说 cfexecute 的参数字符串存在一些问题,一个更好的主意是创建一个批处理文件并使用 cfexecute 运行该批处理文件。
所以我创建了一个批处理文件。导入.bat
如果我手动运行批处理文件,它会再次工作。
导入.bat
但如果我通过 cfexecute 运行它,它什么也不做。
为了测试 cfexecute 我让它运行两个命令,第一个是我需要工作的,第二个是测试。第二个根据需要工作。第一个不是屏幕或日志文件出错。如果我输入了错误的语法,它会这样做。第二个是根据需要写入文件。
(下面的代码)
任何想法将不胜感激...
谢谢,布赖恩
multithreading - ColdFusion 每个应用程序线程限制
我有一个计划任务,它创建 20 到 50 个左右的线程。我将 ColdFusion 设置为同时运行 20 个,但我收到了来自数据库人员的回击,他们说我对他们的数据库的打击太大了。
我想知道是否有办法让页面将线程数限制为 5 个并发运行线程。或者做一些事情,这样我就不必改变全局设置
代码片段:
coldfusion - 为什么 CFTHREAD 不运行查询并创建文件?
我有一个应该检查文件日期的功能。如果文件大于 60 秒,则应运行查询并创建一个新文件。该查询需要 60 秒才能运行。
当它没有被包裹在 CFTHREAD 中时,这个过程可以完美地工作。当使用 CFTHREAD 时,似乎什么也没有发生。我没有错误。我期望看到的是正在制作一个新文件。我从来没有看到那个新文件。
我应该在哪里查找错误?我错过了什么?为什么 CFTHREAD 不起作用?
memory-leaks - 我的第一次内存泄漏?冷融合
不久前,我发布了一个与CFThread 超过 GC 开销限制有关的问题(注意:有人将响应标记为答案,但问题从未得到解决)。
经过数月的阅读并采取不同的方法来尝试实施可行的解决方案后,我仍然没有进一步前进。
最近,我开始尝试在 Eclipse 中使用 MAT 插件来确定我是否因为内存泄漏问题而遇到问题,但是我不明白显示给我的信息。
谁能分析一下下面显示的内容?
我是否有需要解决的内存泄漏问题?这是否可能是导致我的 CPU 使用率达到最大值并且 CF 服务(以及最终系统)陷入停顿的原因?
coldfusion - CFAdmin 中缺少“JRun Master Request Limits”部分
我的 ColdFusion 应用程序出现以下错误:*
11/21 11:23:43 调试 [scheduler-1] - 下一个邮件假脱机在 15 秒内运行。java.lang.RuntimeException:等待可用线程运行的请求超时。您可能要考虑增加线程池中的活动线程数
* 我知道具有大量站点或长时间运行模板的 ColdFusion 应用程序可能会收到上述错误。我相信这不是应用程序的缺陷,而是 CF 本身的问题。因此,为了消除这种情况,我试图在“服务器设置”->“请求调整”下增加“正在运行的 JRun 线程的最大数量”。但令我惊讶的是,Admin 中缺少整个字段 - “ JRun Master Request Limits ”。请参考下面的屏幕截图。 我的本地 CF Admin(开发人员版)中提供了相同的字段。请参见下面的屏幕截图:
任何想法?为什么会出现这种差异?我应该如何增加线程?
multithreading - CFTHREAD 执行两次
我有一个调用 cfcomponent 对象的循环。
该组件具有以下功能:
当我运行它时,我收到以下错误:
cfthread 标记的属性验证错误。无法创建名为 DOWNLOAD_4003_3 的线程。线程名称在一个页面中必须是唯一的。
错误发生在第 29 行。
我不知道为什么,但它似乎运行了两次。它不应该生成具有唯一线程名称的新线程,从而避免线程名称冲突吗?
sql-server - ColdFusion 线程中的 SQL 死锁
我试图弄清楚为什么在线程内执行简单查询时会出现死锁错误。我在 Windows 2012 服务器上运行带有 SQL Server 2008 R2 的 CF10。
每天一次,我有一个将一堆博客提要缓存在数据库中的进程。对于每个博客提要,我创建一个线程并在其中完成所有工作。有时它运行良好,没有错误,有时我在一个或多个线程中收到以下错误:
[Macromedia][SQLServer JDBC 驱动程序][SQLServer]Transaction(进程 ID 57)与另一个进程在锁资源上死锁,并已被选为死锁牺牲品。重新运行事务。
当我运行一个设置了一个标志的查询时,会发生这种死锁情况,该标志指示正在更新提要。显然,此查询可能与正在更新其他提要的其他线程同时发生。
根据我的研究,我认为我可以通过在查询周围放置一个独占命名锁来解决这个问题,但我为什么需要这样做呢?我以前从来没有处理过僵局,所以请原谅我对这个问题的无知。我怎么可能遇到死锁情况?
由于要发布的代码太多,这里有一个粗略的算法:
multithreading - cfthread - 它可以运行多长时间?
使用 Railo,我正在使用 cfthread 处理大型视频文件。文件上传后,我调用<cfthread type="task">
以使用 ffmpeg 处理文件(type="task" 是 Railo 特定的)。对于大文件,这可能需要一段时间,而且看起来我的线程在完成之前就被终止了。
1)如何验证线程是否被终止?
2)有没有办法改变线程可以运行多长时间?
3) 在 Railo 中监控线程活动的最佳方法是什么?
coldfusion - 如何仅在代码运行后删除动态 cfm 文件?
我正在使用内存文件系统来执行动态 CFM 文件。如何仅在完成运行后删除临时文件?如果我在 cfinclude 之后立即执行此操作,如果动态代码具有中止或位置标记等,它不会被删除。我可以创建一个线程,直到主页线程完成然后删除它?
coldfusion - 我可以在多用户环境中对同名的 cfthread 进行排队吗?
用户 A 触发了一个名为“thread1”的 cfthread。此线程需要 30 分钟才能完成,并且是一个“设置并忘记”线程。换句话说,该线程不会与主页面请求一起返回。该线程包含高度占用内存的例程。
用户 B 然后在用户 A 5 分钟后触发同一个命名线程 [cfthread with name 'thread1'],但来自不同的页面请求。
在这种情况下,如何将线程排队,从而减少 CF 应用程序服务器上的处理负载?
请注意,我了解线程队列与具有不同名称的线程。我说的是同一线程的实例。