花了几个小时编写事件网关解决方案,我发现它们不受CF标准版的支持。 Buggerit!所以回到绘图板。
我可以看到如何使用cfdirectory检查文件夹的dateLastModified属性,因此我可以运行一个计划任务来查看新文件的上传时间,但是最好的方法是存储/比较文件列表以便获取自上次检查后添加的列表。
一般提示/链接赞赏
答案 0 :(得分:4)
假设无论出于何种原因,您无法使用网关,那么最简单的解决方案就是将您已经处理的文件移动到一个单独的目录中。然后,您的计划任务可以只处理FTP目录中的文件。
答案 1 :(得分:1)
CF标准不支持它们 版
你还在使用CF7吗?自CF8起,它已得到CF标准版的支持
答案 2 :(得分:1)
正如@Henry指出的那样,您可以使用事件网关。
如果您决定不使用该方法,我建议使用ColdFusion计划任务。该任务的最简单算法是将最后<cfdirectory/>
调用的结果存储在持久作用域 - 应用程序或服务器中 - 或将其写入数据库或文件(例如WDDX)。保留所有这些信息而不仅仅是时间戳的原因是处理新添加或更改的文件因任何原因没有采用正确时间戳的情况(系统时钟关闭)。
如果您使用数据库捕获数据,则可以分别使用MINUS/EXCEPT query in SQL Server or Oracle来确定新内容。否则,您需要在旧的新查询中执行ColdFusion中的一些嵌套循环,以生成新文件列表。