Rss 什么';从Twitter上获取我想要的数据的最佳方式是什么?

Rss 什么';从Twitter上获取我想要的数据的最佳方式是什么?,rss,twitter,push,ping,Rss,Twitter,Push,Ping,我目前正在MySQL中保存一些Twitter数据。我的主机只允许我每小时运行一次cron作业,因此为了半模拟实时结果,我复制了同一个文件6次,并且每10分钟运行一次(主机允许您控制每小时的偏移量)。我认为这很愚蠢 是否有一些机制可以让我了解,从而推动数据向我的方向发展?欢迎有任何想法或建议 (我已经避免了只使用每个页面视图查询他们的服务器;我知道这是一个糟糕的做法)如何通过在客户端(主系统)添加cron来访问服务器上托管的网页(该网页将执行程序): 否则,您可以每小时运行以下bash脚本: #!

我目前正在MySQL中保存一些Twitter数据。我的主机只允许我每小时运行一次cron作业,因此为了半模拟实时结果,我复制了同一个文件6次,并且每10分钟运行一次(主机允许您控制每小时的偏移量)。我认为这很愚蠢

是否有一些机制可以让我了解,从而推动数据向我的方向发展?欢迎有任何想法或建议


(我已经避免了只使用每个页面视图查询他们的服务器;我知道这是一个糟糕的做法)

如何通过在客户端(主系统)添加cron来访问服务器上托管的网页(该网页将执行程序):

否则,您可以每小时运行以下bash脚本:

#!/bin/bash

for (( i = 0; i < 6; i += 1 )); do
    /usr/bin/curl 'http://yourserver.com/twitter'
    sleep 600
done
#/bin/bash
对于((i=0;i<6;i+=1));做
/usr/bin/curl'http://yourserver.com/twitter'
睡600
完成

一个相对简单的解决方案是在另一台计算机上运行cron作业。它将向Twitter发出请求,然后向服务器上的指定页面(例如)执行HTTP POST。当然,你会希望有身份验证来防止随机垃圾被发送给你


我不知道这对您的情况是否合理。

每隔一秒左右运行代码非常容易

// pseudocode
while(1) {
    // do request

    // sleep 1 second
    sleep(1);
}

为什么不在你的程序中加入一个while循环,然后在你需要更新的时间之间休眠N秒呢?你可以在59分30秒后死去

或者,要优化多个文件的复制,可以在单个cron行中向程序添加多个调用。比如:


/prog.pl;睡眠60/prog.pl

您可以理智地从请求中提取触发的twitter数据。这有点深奥,但本质上是将锁定数据存储在一个表中,以确保每N分钟(或在需要时)只有一个请求轮询来自twitter的数据。例如:

  • 请求检查是否需要检索新的twitter数据
  • 检查锁表以查看是否有另一个请求已经在与twitter对话
  • 将记录添加到锁表。确保在通过数据库约束设置为唯一的列中指定数据。这将使您不必制作两个锁
  • 与twitter交谈,保存twitter数据
  • 删除锁定记录

  • 为了提高速度,请确保锁表在内存中,或者改用memcached。当然,如果您可以使用memcached,那么您可能已经完全控制了cron

    这是如何回答这个问题的?他不允许运行守护程序。毫无疑问,任何无限运行的进程都会被他的ISP杀死。问题中指定的进程在哪里?进入哪个程序?他在服务器上运行,只能有cron作业和/或响应请求。什么是什么程序?执行curl调用、处理、插入数据库等操作的脚本或程序。
    // pseudocode
    while(1) {
        // do request
    
        // sleep 1 second
        sleep(1);
    }