cronjob可以在同一个php文件中不同地执行多个函数吗?


Can cronjob execute multiple functions within a same php file different?

在同一个类中有订单、发货和产品函数。每个都有不同的cronjob设置。例如,产品每5分钟运行一次,运输每30分钟运行一次,订单每小时运行一次。然而,通过检查日志,我注意到有时cron并不完全按照我设置的方式运行。发货功能每2、3小时运行一次,订购功能每小时运行一次,然后每隔几个小时运行一次。我想问题是,我是否应该将这些cronjob函数拆分到不同的php文件中?这可能是导致cronjob不能正常运行的原因吗?

谢谢

我非常怀疑在同一个文件中会有问题,因为cronjobs基本上每个任务产生一个新线程。

我建议你记录你的函数调用,以便更深入地了解。

<?php
file_put_contents('/tmp/cron_log', date('Y-m-d H:i:s).' > [your_function_name]', FILE_APPEND);

将这一行放在每个函数中(在开头),将告诉您一个对象何时被实例化(在终端中使用:tail -f /tmp/cron_log)。