Amazon ec2 PHP Cronjob导致数据库连接过多
我有一个EC2服务器,每分钟调用多个Cronjobs。大多数情况下,一切正常,但有时,由于数据库的原因,一个cronjob(wget)需要花费很长时间,然后进行下一个wget调用。这会减慢数据库的运行速度,最终会导致许多wget调用和超过200个数据库连接。大多数情况下,除了关闭RDS和EC2之外,没有其他方法可以在没有cronjobs的情况下重新启动 我想知道: 1.对于cronjobs,有什么更好的解决方案(我必须获取大量数据并将其存储在RDS中)? 2.如何确保每个URL只运行一个wget? 3.为什么RDS不关闭连接,尽管它们需要几分钟的时间?我必须更改哪个参数Amazon ec2 PHP Cronjob导致数据库连接过多,amazon-ec2,cron,wget,crontab,amazon-rds,Amazon Ec2,Cron,Wget,Crontab,Amazon Rds,我有一个EC2服务器,每分钟调用多个Cronjobs。大多数情况下,一切正常,但有时,由于数据库的原因,一个cronjob(wget)需要花费很长时间,然后进行下一个wget调用。这会减慢数据库的运行速度,最终会导致许多wget调用和超过200个数据库连接。大多数情况下,除了关闭RDS和EC2之外,没有其他方法可以在没有cronjobs的情况下重新启动 我想知道: 1.对于cronjobs,有什么更好的解决方案(我必须获取大量数据并将其存储在RDS中)? 2.如何确保每个URL只运行一个wget
谢谢大家! 取决于你想要实现什么
- 是否要扩展数据库以处理多个连接而不发生故障
- 如果您不介意部分请求或跳过呼叫
更健壮的解决方案是确保一次只有一个cronjob实例处于活动状态。IIRC Perl有一个简单的CPAN解决方案。使用锁文件防止脚本的多个实例同时运行。