From e53e152d6f2b310d7206b640cb3840ec5531aa86 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 7 Sep 2010 04:22:55 -0400 Subject: [PATCH] use and save since_id parameter for home_timeline --- .../TwitterBridge/daemons/twitterstatusfetcher.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php index e092cd1dd7..7c80d2e5d5 100755 --- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php +++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php @@ -103,7 +103,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon function getObjects() { global $_DB_DATAOBJECT; - $flink = new Foreign_link(); $conn = &$flink->getDatabaseConnection(); @@ -183,8 +182,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon $timeline = null; + $lastId = Twitter_synch_status::getLastId($flink->user_id, 'home_timeline'); + try { - $timeline = $client->statusesHomeTimeline(); + $timeline = $client->statusesHomeTimeline($lastId); } catch (Exception $e) { common_log(LOG_WARNING, $this->name() . ' - Twitter client unable to get friends timeline for user ' . @@ -199,10 +200,14 @@ class TwitterStatusFetcher extends ParallelizingDaemon common_debug(LOG_INFO, $this->name() . ' - Retrieved ' . sizeof($timeline) . ' statuses from Twitter.'); + $lastSeenId = null; + // Reverse to preserve order foreach (array_reverse($timeline) as $status) { + $lastSeenId = $status->id; + // Hacktastic: filter out stuff coming from this StatusNet $source = mb_strtolower(common_config('integration', 'source')); @@ -227,6 +232,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon } } + if (!empty($lastSeenId)) { + Twitter_synch_status::setLastId($flink->user_id, 'home_timeline', $lastSeenId); + } + // Okay, record the time we synced with Twitter for posterity $flink->last_noticesync = common_sql_now(); -- 2.39.5