gpt4 book ai didi

php - 在 Linux 中创建基于文件的 Cron 作业

转载 作者:太空宇宙 更新时间:2023-11-04 05:30:59 26 4
gpt4 key购买 nike

我正在尝试做我认为相当复杂的任务。

我想执行 PHP 脚本,但前提是/var/import 中存在名为 import_products.csv 的文件。原因是因为该脚本尝试导入上述 CSV 文件,因此如果它尝试每分钟运行该脚本,我不希望它出错。

另一方面,如果存在文件,我确实希望脚本每分钟运行一次(甚至每分钟运行 2 或 4 次)。所以我的设想是这样的。

我将创建每分钟运行一次的 cron 作业,它执行以下操作:

  • 检查/var/import/import_products.csv 是否存在

如果不存在,请立即退出脚本。

  • 执行product_import.php(这将存储在与我的 cronjob 文件相同的文件夹中)
  • 执行完成后,删除/var/import/import_products.csv

我将使用一个单独的守护进程来生成这些 CSV 文件,这里必须做的是,它仅在文件存在时运行 PHP 脚本。

如果有一种方法可以在不使用 cron 的情况下执行此操作,那也可以。基本上我只是希望它在每次写入新的 import_products.csv 时运行该 PHP 脚本,然后删除该文件。 Cron 作业是我确定能做到这一点的唯一方法。

最佳答案

我可以想象你有几种方法可以做到这一点。如果可能的话,第一个是最简单的,即 add in checks to the PHP script itself查看该文件是否存在。如果您的产品导入时间超过一分钟,您还必须考虑如果文件仍然存在而另一次导入已经发生,会发生什么情况。

第二种方法是创建某种 bash 或 shell 脚本,该脚本将check for the existence of the file然后运行命令来执行 PHP 脚本(如果是),然后将 shell 脚本添加到您的 cron 而不是 PHP 脚本本身。

关于php - 在 Linux 中创建基于文件的 Cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com