当在Windows系统上的目录中进行更改时,我需要立即通知程序更改.
发生变化时是否有某种方式执行程序?
我不是C/C++/.NET程序员,所以如果我可以设置一些东西,以便更改可以触发批处理文件,那么这将是理想的.
我正在使用Magento,并且有一个函数将CSS和Javascript合并为一个大文件.
无论其优缺点如何,都存在以下问题:
最终文件缓存在多个级别,包括但不限于:
Magento使用连接的css文件名的MD5和来为合并的css文件生成新的文件名.因此,每个具有不同css文件集的页面都会获得正确的合并css文件.
为了解决缓存问题,我还将文件修改时间戳包含在该哈希中,以便每次修改css文件时都会生成新的哈希.
因此非重新验证缓存得分的全部优势,但如果某些内容发生变化,它立即可见,因为资源链接已更改.
到现在为止还挺好:
唯一的问题是,用于生成has的文件名只是通常在HTML-Head块中直接引用的文件名,并且不包括这些文件中的css导入.
因此,在css文件中导入的文件中的更改不会导致新的哈希.
不,我真的不想递归解析所有导入并扫描它们或类似的东西.
我宁愿考虑基于目录的解决方案.有没有什么能够在文件系统的基础上有效地监视"目录内的最后一次更改"?
我们正在使用ext4.
或者可能有另一种方法,也许使用find命令,根据inode索引完成所有工作?
那样的东西?
我已经看到很多程序在不扫描整个文件系统的情况下立即"看到"变化.我相信在linux下也有一些"文件操作监视"守护进程.
问题是css目录非常庞大.
谁能指出我正确的方向?
directory ×2
linux ×2
file-io ×1
filesystems ×1
inode ×1
listeners ×1
monitoring ×1
php ×1
unix ×1
windows ×1