$usersQuery = "SELECT phoneUnique FROM table WHERE getNews = 'Y' AND LENGTH(phoneUnique) > 60";
$usersResult = mysql_query($usersQuery);

$user = mysql_fetch_assoc($usersResult);

$articleQuery = "SELECT articleId, articleTitle, articleType FROM table ";
$articleResult = mysql_query($articleQuery);
while ($article = mysql_fetch_assoc($articleResult)) {
$destroyQuery = "DELETE FROM table WHERE articleId = '{$article["articleId"]}'";
$destroyResult = mysql_query($destroyQuery);

mysql_data_seek($usersResult, 0);
$today = date("Y-m-d H:i:s");
$started_at = microtime(true);
print "{$today} => {$article['articleId']} :: sending " . mysql_num_rows($usersResult) . " Users\tTime: ";
// while ($user = mysql_fetch_assoc($usersResult)) {
        for ($i=1; $i<=mysql_num_rows($usersResult); $i++) {
$user = mysql_fetch_assoc($usersResult);
/*
// 스크립트 실행 후 푸쉬서버와 연결되는데 걸리는 시간 4초, 약 5초 (즉 5초가 있어야 큐가 사라짐.)
// 1초에 실행되는 스크립트 개수 18개, 약 20개
// 그렇다면 실제로 약 5초가 지난 순간(약 100개의 스크립트가 실행된 후)부터 푸쉬서버와 연결됨
// 여기에 100건마다 컨넥션이 딜레이되는 시간을 0.5초로 추정하면 1000건에 총 5초가 추가됨
// 실제 푸쉬서버에 연결되서 다 보내지는 시간 5초 + 100건마다 누적되는 시간 0.5초 = 그래서 1000건마다 슬립 10초 걸었음.
*/ 
        if ($i % 1000 == 0) sleep(10);
// print "\n{$i}:{$user["phoneUnique"]}";
$articleId = $article["articleId"];
$articleTitle = addslashes($article["articleTitle"]);
$articleType = $article["articleType"];

.
.
.
.
.
 
Posted by 예배하는 프로그래머

댓글을 달아 주세요