ColdFusion 线程保留在线程队列NOT_STARTED中



我在 ColdFusion 8 上使用 CFTHREAD。

偶尔我发现所有线程都停止执行并保持 STATUS=NOT_STARTED

服务器监视器告诉我,没有正在运行的请求,没有正在运行的线程和越来越多的排队线程。

恢复的唯一方法是重新启动 ColdFusion 实例。

我只在少数地方使用线程。 对 CFTHREAD 的一些调用是 JOIN - 在这种情况下,我终止任何在超时内未完成的线程。 对 CFTHREAD 的一些调用是即发即弃。

有谁知道为什么会发生这种情况?

谢谢

威廉·毕比

在我的一个应用程序中,我已经遇到了线程挂起问题。这是因为,我的线程正在运行一些HTTP调用或大文件下载过程,它面临连接超时问题。

由于这个线程挂起,我们的服务器也变得非常繁忙,因为正在运行的线程获取的资源无法释放。

我的解决方案:只需检查线程运行的时间。如果它超过一个特定的间隔,那么我正在通过代码杀死线程。

您可以使用 ColdFusion Admin API 来终止线程。如果您想如何使用管理员 API 杀死线程,请参阅此处

最新更新