【发布时间】:2015-12-01 07:18:06
【问题描述】:
使用 Railo,我正在使用 cfthread 处理大型视频文件。文件上传后,我调用<cfthread type="task"> 使用ffmpeg 处理文件(type="task" 是Railo 特定的)。对于大文件,这可能需要一段时间,而且看起来我的线程在完成之前就被终止了。
1) 如何验证线程是否被终止?
2) 有没有办法改变线程可以运行多长时间?
3) 在 Railo 中监控线程活动的最佳方式是什么?
【问题讨论】:
-
检查 {web-root-directory}/WEB-INF/railo/logs/ 中的 thread.log 和 requesttimeout.log。我使用默认任务类型(守护进程)并在线程内设置请求超时以覆盖全局请求超时。不过似乎不适用于 type="task"(使用 Lucee 而不是 Railo)。
-
你在看什么让你认为线程没有完成?
-
我确定线程没有完成,因为即使我知道处理已经开始(我正在做一些日志记录),文件也永远不会得到处理。我会按照 Jeremy 的建议检查 railo 日志文件。
-
当我有线程问题时,异常日志有很好的信息。
-
是否有办法捕捉到线程因请求超时而终止的情况?
标签: multithreading coldfusion railo cfthread