我有一个太重的计划任务,所以我的问题是,一个太重的计划任务可能会导致coldfusion服务器崩溃?我的意思是,有时我的计划任务超过了循环限制时间,不管怎样,我正在寻找其他方法来做同样的事情,但不要太重。
发布于 2013-03-28 14:06:37
实际上,计划任务只是对正常CF页面请求的自动调用。这意味着,如果您在浏览器窗口中手动调出计划任务URL,它是否也会在那里超时?
请记住,计划任务正由服务器调用和运行,这意味着您可以拥有不同的会话、CGI、请求和表单作用域,而不是实际的用户。但是,您可以使用CFSETTING tag的requestTimeout属性来延长页面在超时之前必须完成任务的时间。requestTimeout属性接受一个表示秒数的值,在此秒数之后,如果没有来自服务器的请求返回,CF认为页面没有响应。
但是,这在很大程度上取决于您的计划任务实际在做什么。您可以通过各种方式将代码分解为多个组成部分,以加快处理速度。也许弄清楚循环正在做什么(以及它是否真的需要做它正在做的所有事情)是一个很好的起点。
发布于 2013-03-29 04:07:27
有几件事需要考虑。
首先,您的任务需要一段时间才能运行,并且当前超时。这里有一些事情需要调查:
coldfusiondevshop不是一个调查,但是你可以根据@
<cfsetting>
为那个请求设置requesttimeout
,看看它是否可以用不同的编码方式来避免运行太长时间。由于通常作为任务完成的工作的性质,这在您的ColdFusion版本上可能不是possible.另一件需要考虑的事情是,是否值得为您的任务运行一个单独的CF实例。除了你的任务超时,它也可能在运行时减慢其他所有人的处理速度。你检查过了吗?对于单个任务来说,这可能有些夸大其词,但请记住,任务不需要由与站点其余部分相同的CF实例运行,如果有许多任务会使CF实例的资源紧张,那么确实有一个引人注目的情况是不需要这样做。
总而言之:通过<cfsetting>
增加超时时间,然后审核代码以查看是否可以提高其性能。我说的其他事情只是“加分”建议。
https://stackoverflow.com/questions/15675146
复制相似问题