0

我正在开发基于位置的社交网站,我正在整合foursquare。我已经使用foursquare登录,每当用户使用他的foursquare帐户登录时,我都会使用它获取他的访问令牌,我会从foursquare帐户中获取他的所有数据,这个帐户非常大并且需要很多时间。这就是为什么我正在寻找一种可以循环连续检索foursquare数据的解决方案。

有什么方法可以run the codeIgniter or PHP function continuously更新所有用户数据instead of updating the data scheduled basic like using cronjob,它应该像我运行该功能一样运行,它将无限运行而不会停止。

笔记:

CURL用来从foursquare获取数据

提前致谢!

4

2 回答 2

1

您可以编写一个简单的 PHP 脚本,如下所示,并通过将其安排在 cron 作业中来运行此脚本,然后一旦此脚本运行,删除 cron 选项卡(脚本将继续运行):

while (true)
{
    // Setup your CURL request for foursquare
    // Fire the CURL request and get the results
    // do the processing
    // You can probably put a sleep here before it again   loops
    // Here is the magic to break the infinite loop - check a
    // variable from database table or from some ini file and break the loop
    // if the variable is set
}

希望能帮助到你。

于 2013-08-07T13:46:58.267 回答
0

你需要的是守护 PHP 进程,我过去做过,老实说不记得我用过什么,但快速谷歌搜索给了我http://pear.php.net/package/System_Daemon

我可以告诉你的是,PHP 不是这类事情的好选择。我遇到了很多问题,这些问题与 PHP 进程一直在工作这一事实直接相关。最终,我将其重写为 Java(和http://commons.apache.org/proper/commons-daemon/jsvc.html

您还可以查看作业服务器,例如 Gearman ( http://gearman.org/ ) 是众所周知的。这是 Gearman PHP 库http://php.net/manual/en/book.gearman.php

我个人使用http://www.celeryproject.org/来处理这些类型的任务(因为这些任务可以被安排,并且可以手动触发)。

于 2013-08-07T13:39:23.527 回答