【问题标题】:Processing 1000 users via CRON job PHP通过 CRON 作业 PHP 处理 1000 个用户
【发布时间】:2014-01-17 18:48:01
【问题描述】:

我用 PHP 编写了一个 CRON 作业,它遍历用户表并使用 Twitter API 获取每个用户的推文,然后将其存储在数据库中。

我担心的是,如果用户数量在一段时间内增长,它是否能够在当前设置为 max_execution_time 300 的定义执行时间内执行,否则它会失败

如果有人能告诉我处理此类情况的最佳方法是什么,那就太好了

代码很基本,是这样的

  1. 使用 mysql_connect 建立与数据库的连接
  2. 查询 users 表 - 使用 select 语句
  3. 遍历所有记录
  4. 为每条记录使用 Twitter API 获取推文
  5. 在数据库中存储推文

【问题讨论】:

  • 如果您显示一些代码会有所帮助。如果有必要,我们可以讨论优化它。
  • max_execution_time = 0?我想您需要设置一个系统,以便它定期轮询 twitter api。
  • @icedwater 我添加了伪代码。
  • @DaveChen 你的意思是我应该将 max_execution_time 设置为 0 而不是 300。目前我的 CRON 作业每 5 分钟运行一次,我是否还需要增加这个时间,以防万一我们有千用户
  • 感谢您添加详细信息,但这并不能帮助任何人确定特定代码的运行速度。

标签: php mysql cron


【解决方案1】:

最好的选择是使用批量查询在一个请求中指定多个用户 ID。

试试这个 from:user1 OR from:user2 OR from:user3 并使用 twitter 搜索 api 检索批处理结果

可以在此处查看其他搜索查询参数

https://dev.twitter.com/docs/using-search

https://dev.twitter.com/docs/api/1.1/get/search/tweets

【讨论】:

    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2016-05-27
    • 1970-01-01
    • 2018-05-13
    相关资源
    最近更新 更多