我有一个循环运行数千条记录,并且对于它命中的每条记录都在服务器上进行一些图像大小调整和操作。该过程在测试一个小记录集时运行良好,但是当它移动到实时服务器时,我想在 50 条记录后暂停并恢复该过程,这样服务器就不会被征税到性能缓慢或完全退出的地步。
代码如下所示:
<cfloop query="imageRecords">
<!--create and save images to server - sometimes 3 - 7 images for each record -->
</cfloop>
就像我说的,我想在 50 条记录后暂停,然后从中断的地方继续。我看了看,cfschedule
但不确定如何将其应用于此。
我还查看了sleep()函数,但文档讨论了在cfthread
标签中使用它。其他人已经发布了关于使用它来模拟长流程的信息。
所以,我不确定sleep()
能否以我需要的方式安全使用。
服务器是 CF9,数据库是 MySQL。