Я пытаюсь сделать длинный опрос на моем сайте для уведомления пользователей о входящей почте. Я бы использовал mysql для целей базы данных. Будет ли безопасно проверять mysql, если есть обновление к таблице? Из-за этого сайт будет замедляться, поскольку он будет постоянно искать обновление? Как бы вы даже проверить, обновляется ли mysql?
код будет выглядеть примерно так
while($currentTime <= $lastTime){ usleep(10000) clearstatcache(); $sql = mysql_query("SELECT time FROM timestamp WHERE $currentTime = timestamp"); $row = mysql_fetch_array($sql); $currentTime = $row['time']; }
Таким образом, он будет продолжать работать до тех пор, пока в базе данных не появится новая метка времени, но эффективна ли она, когда сервер заглядывает в мою базу данных каждые 10 секунд?
благодаря
Я бы настоятельно рекомендовал использовать задания cron или запланированные задачи для этой цели. http://en.wikipedia.org/wiki/Cron
Или запланированные задачи, если вы находитесь в окнах.
Подход, который вы предлагаете, будет тайм-аут, если вы этого не предотвратите, и продолжайте работать. В то время как задания cron предназначены для такого типа вещей.
Вы можете использовать AJAX и позволить стороне клиента опросить ваш сервер каждые X секунд. Но вы можете описать свою проблему на более подробном уровне …
Другая возможная вещь – cron, но вам нужно будет предоставить больше информации.