php - PHP exec() 在 AWS EC2-server 上非常慢
问题描述
我正在运行一个包含大量 cronjobs (1000+) 的服务。
每天可以多次更新 cronjobs 列表。首先,我.txt
使用 cronjob-commands 列表更新一个 -file,如下所示:
echo -e "`crontab -l`\n1 21 * * 1-5 /usr/bin/php /var/www/html/file_to_be_called.php 123" | crontab -
当.txt
-file 更新时,我运行一个 PHP 脚本,该脚本采用.txt
-file 并将其作为如下命令执行:
$list_of_cronjobs = file_get_contents("../list_of_cronjobs.txt");
exec($list_of_cronjobs);
这一切都很好,但问题是这个设置的执行时间。exec($list_of_cronjobs);
-line 大约需要 20 秒,其中 .txt 文件中有大约 1000 行。现在这没问题,但我希望在接下来的几个月内添加超过 5000 行 cronjobs,然后执行时间是一个问题。
我很好奇如何改进和加快这个过程。我的脚本在 AWS EC2 服务器 (t2.medium) 上运行。有什么建议可以提升 exec() 进程吗?
解决方案
推荐阅读
- android - 接收到 ACTION_ACL_CONNECTED 后如何访问蓝牙设备
- anaconda - 可以在 WSL2 中使用 Windows 安装 Anaconda 吗?
- java - 用于生产的 Spring Boot 可运行 Jar 文件?
- python - QCompleter 的多列模型
- angular - Angular 2+ 中保存 Jasmine 数据固定装置的合适位置在哪里?
- prometheus - Prometheus Query 在最后一天获得不同的值
- go - Golang:如何在 Go 中成功创建新的 Stripe PaymentIntent?示例 go 代码有一个名为“paymentintent”的未定义变量。
- javascript - 如何使用 NodeJS 跟踪多部分/表单数据 POST 请求的上传进度?
- ios - Firebase 推送通知不起作用,我错过了什么吗?
- netsuite - 如何在没有任何模块的情况下将 Netsuit 与 Shipstation 集成?