从我的java前端

时间:2015-09-23 10:42:03

标签: java php mysql twitter

我正在尝试制作一个项目,用户输入几个品牌,并在Twitter上收到他们提到的时间的反馈..到目前为止,我已经制作/发现/调整了java中的基本前端 php脚本用于使用twitter流API和数据库来保存传入的推文,本地的xaamp服务器中的最后两个。它工作得很好,但我必须通过浏览器手动运行脚本。

我需要的是

  1. php脚本在后台运行(正如他们的创建者所坚持的)
  2. 随意启动和停止脚本以更改和续订所请求的关键字

    我需要从我的前端完成此事。

  3. 我想到了这个......

    因为我首先通过我的数据库将用户输入发送到脚本(java arrayOfBrands => db table => php请求并获取列作为数组)我可以像在mysql数据库中的标志一样变为smth我的前端在我的脚本执行中至关重要。

    然后我看了这个问题

    Starting / Stopping php script running in background from browser

    但是这里的人建议把它作为一个cronjob ...另一个制作脚本的人在说明书中说“不要做它作为一个CRONJOB”一千次,而是作为背景中的一个程序......而且他们看起来都很好而且亲(Adam Green 140dev和Aziz Saleh 1763在这里成名)我不知道该走哪条路。

    这是“我的”代码

        <?php
    /**
    * get_tweets.php
    * Collect tweets from the Twitter streaming API
    * This must be run as a continuous background process
    * Latest copy of this code: http://140dev.com/free-twitter-api-source-code-library/
    * @author Adam Green <140dev@gmail.com>
    * @license GNU Public License
    * @version BETA 0.30
    */
    ini_set('display_errors', true);
    require_once('140dev_config.php');
    require_once('brands.php');
    
    require_once('../libraries/phirehose/Phirehose.php');
    require_once('../libraries/phirehose/OauthPhirehose.php');
    class Consumer extends OauthPhirehose
    {
      // A database connection is established at launch and kept open permanently
      public $oDB;
      public function db_connect() {
        require_once('db_lib.php');
        $this->oDB = new db;
      }
    
      // This function is called automatically by the Phirehose class
      // when a new tweet is received with the JSON data in $status
      public function enqueueStatus($status) {
        $tweet_object = json_decode($status);
    
            // Ignore tweets without a properly formed tweet id value
        if (!(isset($tweet_object->id_str))) { return;}
    
        $tweet_id = $tweet_object->id_str;
    
        // If there's a ", ', :, or ; in object elements, serialize() gets corrupted 
        // You should also use base64_encode() before saving this
        $raw_tweet = base64_encode(serialize($tweet_object));
    
        $field_values = 'raw_tweet = "' . $raw_tweet . '", ' .
          'tweet_id = ' . $tweet_id;
        $this->oDB->insert('json_cache',$field_values);
      }
    }
    
    // Open a persistent connection to the Twitter streaming API
    $stream = new Consumer(OAUTH_TOKEN, OAUTH_SECRET, Phirehose::METHOD_FILTER);
    
    // Establish a MySQL database connection
    $stream->db_connect();
    
    // The keywords for tweet collection are entered here as an array
    // More keywords can be added as array elements
    // For example: array('recipe','food','cook','restaurant','great meal')
    $stream->setTrack($mybrands);
    
    // Start collecting tweets
    // Automatically call enqueueStatus($status) with each tweet's JSON data
    $stream->consume();
    

    这是我需要运行/不运行的脚本

    PLZ以任何可能的方式帮助我,无论是代码或建议,还是只是提示对我都有价值。

    提前感谢。

0 个答案:

没有答案