Как остановить обновление метрик видео YouTube при обновлении таблицы MySQL - PullRequest
0 голосов
/ 11 февраля 2012

Я пытаюсь обновить детали более 5000 видео, которые у меня есть в таблице mysql, но время ожидания истекает.

Я в основном перебираю записи, содержащие видеокод YouTube, и смотрюподробности с помощью API фида YouTube.

Может кто-нибудь помочь объяснить, почему и как я могу это исправить, пожалуйста?

Вот мой код: -

    <?php

$con = mysql_connect("hostname", "username", "pw");
if (!$con)
  {
  die('We could not connect you to our network at this moment. We apologise for the inconvenience please try again later');
  } 

mysql_select_db("sociallandscaper", $con);

set_time_limit(0);

$ccresult = mysql_query("SELECT vidcode FROM ytt");
 while($row = mysql_fetch_array($ccresult)) {
$c = $c +1;

$vidcode = $row['vidcode'];
$url = "http://gdata.youtube.com/feeds/api/videos?q={$vidcode}&v=2&alt=json";
$json_single_vid = file_get_contents($url);
$json_single_vid_data = json_decode($json_single_vid);
$likes = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$rating'}->{'numLikes'};
$dislikes = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$rating'}->{'numDislikes'};
$raters = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$rating'}->{'numRaters'};
$fav = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'yt$statistics'}->{'favoriteCount'};
$average = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$rating'}->{'average'};
$comments = $json_single_vid_data->{'feed'}->{'entry'}[0]->{'gd$comments'}->{'gd$feedLink'}->{'countHint'};

$mSQL = "UPDATE ytt SET vidraters = '$raters',vidrating = '$average',vidlikes = '$likes',viddislikes = '$dislikes',vidcomments = '$comments',vidfavs = '$fav' WHERE vidcode = '$vidcode'";

mysql_query($mSQL);

echo $c."<br/>";
    }

  ?>

Я бы хотелбудь очень благодарен за любой совет.

Спасибо

Джонатан

1 Ответ

0 голосов
/ 11 февраля 2012

Рефакторинг кода и обработка в более мелкие куски. Преимущество заключается в возможности масштабирования по сравнению с тем, что может решить только вашу проблему прямо сейчас. Также я могу добавить, что я не знаю, что такое «тайм-аут» соединения с mysql? Весь сценарий? Подключение к YouTube?

...