在php后台运行进程


running processes in background php

我有几个cronjob为我的站点总结数据和验证数据。其中一些进程需要在后台运行。

的例子:

cronjob1.php execute cronjob2.php using exec

这个cronjob2.php使用exec运行另一个cronjob3.php,需要先完成cronjob3,然后再完成cronjob2,最后完成cronjob。

我现在有一个问题,cronjob1.php需要2小时才能完成。

是否有更好的方法来运行这个,使它运行得更快?

谢谢

有几件事你可以做:

  • 确保你的脚本使用永久连接,这样你就不会浪费时间连接和断开数据库服务器。
  • 实现一个日志记录机制,这样您就可以确定脚本的哪个部分运行缓慢,记录每个数据库查询所花费的时间将是一个好主意
  • 尽量优化您的数据库,您应该对慢速查询使用explain并创建所需的索引。

如果cronjob1有很多数据库操作,那就创建存储过程,并在大多数使用的表字段上建立索引

可以提高cronjob的性能....