我正在尝试做我认为非常复杂的任务。
我想执行PHP脚本,但只有在/ var / import中存在名为import_products.csv的文件时才会执行。原因是因为该脚本试图导入上述CSV文件,因此如果它每分钟都尝试运行该脚本,我不希望它出错。
另一方面,如果有文件,我希望脚本每分钟运行一次(甚至每分钟2或4次)。所以我所涉及的是这样的。
我创建了每分钟运行的cron作业,执行以下操作:
如果它不存在,请立即退出脚本。
我将使用一个单独的守护进程来生成这些CSV文件,所有这一点必不可少的是,如果文件存在,它只运行PHP脚本。
如果有一种方法可以在不使用cron的情况下执行此操作,那也可以。基本上我只是希望它在每次写入新的import_products.csv时运行该PHP脚本,然后删除该文件。 Cron工作是我确定知道的唯一方法。
答案 0 :(得分:0)
你可以通过异常处理在php脚本中包含文件检查,只需要一点php开销。
答案 1 :(得分:0)
有几种方法我可以设想你这样做。第一种是,如果可能的话,最简单的方法是add in checks to the PHP script itself来查看文件是否存在。如果您的产品导入时间超过一分钟,您还必须考虑如果文件仍然存在会发生什么,而另一个导入已经发生。
第二种方法是创建一个将check for the existence of the file的某种bash或shell脚本然后运行命令来执行PHP脚本(如果是这样),然后将shell脚本添加到你的cron而不是PHP脚本本身。