|
1
1
似乎您最大的问题是处理程序的多个实例,这些实例相互重叠并处理相同的文件。 我过去处理这个问题的方法是让程序获取第一个文件,然后立即将其重命名为“filename.txt”或“filename.txt.processing”。这些进程将被设置为忽略以“.processing”结尾的任何文件,这样它们就不会相互单步执行。我不认为文件重命名是完全原子的,但我从来没有遇到过任何问题。 |
|
|
2
0
在同一台机器上,还是在不同的机器上? |
|
3
0
不确定在windows中移动文件是否是原子操作。 如果是,那么当服务选择处理一个文件时,它应该尝试将该文件移动到另一个文件夹。 如果移动操作成功,则可以安全地处理该文件。 |
|
|
4
0
您还可以利用gea数据库跟踪正在处理、已处理或正在等待处理的文件。 这增加了用新文件更新表的复杂性。 |