首页 > 解决方案 > 在许多不同的 AWS 服务器上分发 PHP cron 作业脚本

问题描述

我有一个每 60 秒运行一次的 cron 作业脚本来处理结果并将结果存储在数据库中。每天最多有 1,440 个新数据库条目。

我需要有数以百万计的数据库条目,因此仅使用此脚本的一个实例来执行此操作确实是不切实际的。我正在寻找至少 50 倍的加速,如果成本合理的话,最好是 300 到 500 倍。

看来我需要一个服务器场,但我必须使用 Amazon Web Services 来处理这些数据。如何设置此脚本以同时运行多个实例,同时将数据存储在一个统一的数据库中?

每次我想运行这个脚本时,我是否需要创建完全独立的服务器实例,从而增加成本?

谢谢您的帮助!

标签: phpdatabaseindexingcrondistribution

解决方案


使用远程 lambda 函数执行由队列系统触发的作业的无服务器方法在技术上和定价层面都可以解决您的问题。

https://aws.amazon.com/lambda/

例如,您可以从本地集中式脚本(例如,通过单个 cron)触发 lambda 函数执行,该脚本将一些消息排入队列系统,以获得您需要以异步/并发方式计算的多个条目。

无服务器框架可以帮助您避免 AWS 锁定:
https ://serverless.com/


推荐阅读