【问题标题】:Efficiently Monitor Directory for New Files and Run a PHP script on Windows有效监控新文件的目录并在 Windows 上运行 PHP 脚本
【发布时间】:2012-09-25 15:53:54
【问题描述】:

当文件被添加到特定目录时,是否有任何简单的方法可以运行 PHP 脚本?

在 linux 上有完美的工具,如 inotify/dnotify,在 Windows 上找不到。

如果我运行一个无限循环的 PHP 脚本 - 这会对 cpu 性能产生重大影响(如果它所做的只是检查文件夹的内容)?

我读到可以使用 Win32::ChangeNotify,但我是 Perl 的菜鸟,所以我不知道如何设置它。

【问题讨论】:

    标签: php windows


    【解决方案1】:

    管理此问题的最简单方法是创建一个每分钟运行一次脚本的 cron 作业(或者您希望检查的频率)。

    编辑 - 再次阅读这篇文章,我发现你使用的是 Windows。我想您可以使用计划任务来执行此操作。

    【讨论】:

    • 对此类任务(或 Windows 提供的任何调度机制)使用 cron 既丑陋又相当低效。因为a)您定期(并且经常)无缘无故地刻录周期-大部分时间都没有要处理的文件; b) 当文件确实出现时,它们的处理延迟平均是 cron-job 周期的一半。正确的方法是找到询问者正在寻找的机制——程序启动并被初始化,要求操作系统通知它某些事件并进入睡眠状态(并且可以被分页),直到被内核唤醒。
    • @MikhailT。您的评论很有道理,但这似乎很难实现,是否有命令行实用程序?
    • @Artur,抱歉,我不是 Windows 用户。但是有跨平台事件库(libeventlibev),可能已经移植到 Windows。有关更多信息,请提出问题:)
    猜你喜欢
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多