通过Lua脚本进行文件监控



晚上好

我目前正在开发一种从csv表导入机器创建的数据到数据库的方法。我的问题是,是否有一种方法可以用Lua对csv文件中的更改做出反应。

文件得到如下格式的一行:

17162H,"801234500001",9/23/2016 12:33:30 PM,"INV"

每次扫描器完成扫描过程时,在旧行下添加,但没有直接连接到数据库,以触发脚本。

如果通过不同的文件大小,文件夹大小(包含文件的文件夹)或文件信息中的变化(如最后打开日期)检测到更改并不重要,但由于性能原因,我无法永久打开并读取它。

这也是我第一次在这里提问,很抱歉我的方式很笨拙,我会努力改进的。

看一下linotify,它为inotify提供了lua绑定,并且看起来应该使用"modify"事件来触发脚本。

我在我的间谍日志应用程序中使用基于LibUV的变体用法:

file_monitor(path_to_file, {eol = 'r?n'}, function(line)
  ... 
end)

如果你需要在Windows上运行这个,你可以使用winapi库,它支持文件观察者。这里有一个例子是如何在我的一个项目中使用它的;您需要调用winapi.sleep(),以便有时间触发检查。

最新更新