Php 我可以为我的应用程序使用cron作业吗(需要具有极高的可伸缩性)?
我将要进行一个大型项目,在这个项目中,我需要安排任务(cron作业)来运行一个脚本,该脚本将循环遍历我的整个实体数据库,并每隔10分钟调用多个API,如Facebook、Twitter和Foursquare。我需要这个应用程序是可扩展的 我已经预见到一些潜在的陷阱…Php 我可以为我的应用程序使用cron作业吗(需要具有极高的可伸缩性)?,php,linux,api,cron,cron-task,Php,Linux,Api,Cron,Cron Task,我将要进行一个大型项目,在这个项目中,我需要安排任务(cron作业)来运行一个脚本,该脚本将循环遍历我的整个实体数据库,并每隔10分钟调用多个API,如Facebook、Twitter和Foursquare。我需要这个应用程序是可扩展的 我已经预见到一些潜在的陷阱… 从API获取数据的速度很慢 由于我的数据库中有数千条记录(不断增加),在10分钟内处理每一条记录将花费太多的时间 某些共享服务器仅在30秒后停止脚本运行 由于持续运行密集型脚本而导致服务器问题 我的问题是如何构造我的应用程序…? 我
- 从数据库检索数据
- 从控制服务器到控制服务器的流量带宽
- Facebook、Foursquare、Twitter等的流量带宽
- 本地登录的必要性(可能提取并上传日志摘要到命令和控制)
但是,在每个实例20000个用户的流量级别上,我认为您最好与Facebook、Foursquare等公司的同事讨论一下。至少您可以收集一些策略,例如将连接器脚本作为独立任务运行,每个连接器根据该服务的用户ID对其队列进行排序,以利用本地的少量数据可能会有,并且利用流水线技术以较少的服务器负载压缩更多带宽。最多,他们可能会向您推荐批量API或不同的协议,或者以1万亿美元的价格购买您:-)这里最大的问题是您选择了共享服务器,这听起来不像是合适的托管方式-获取VPS。至于问题:1是的,2,一个cron作业可以用来完成所有的调度3。不要使用共享服务器4。如上所述如果您希望在这种规模上做一些事情,那么共享服务器不应该是一个问题。你应该寻找一个VPS或专用服务器,或者多个。好的,谢谢,@Dagon-如果我要分割我的数据库,如何使用一个cron作业来完成所有的调度?我需要在10分钟内处理数据库中的每条记录,当然我需要运行多个cron作业。例如:(cron1调度script.php?records=1-999&cron2调度script.php?records=1000-1999)?1个cron作业,用于检查数据库,查看它现在应该生成什么;比多个cron作业更易于管理。您还应该考虑并行运行,启动两个脚本,一个获取记录1-100,另一个获取记录2-200,等等。我发现每个核心都有一个脚本工作得很好,这取决于服务器正在做什么Tanks@Iserni,这正是我要找的。我围绕这个想法做了更多的研究。