Как проверить, если функция четной страницы перезагрузки - PullRequest
0 голосов
/ 15 января 2019

У меня есть функция, которая запускает запрос ajax. Впервые я делаю вставку базы данных, прежде чем они нажмут на эту функцию.

INSERT INTO data_name (user_id, hash, status) VALUES ("1", "1a2b3c3d2e1f4g5h6i6j5k4", "closed");

И затем я хочу с интервалом проверять ответ JSON, который обновит базу данных на основе "хеша" базы данных. Если ответ успешен, обновите базу данных WHERE hash = hash.

Моя проблема в том, что когда я пытаюсь перезагрузить страницу, функция также завершается. Как я могу продолжать выполнять функцию проверки, чтобы увидеть, изменился ли ответ JSON, даже если страница перезагружается или обновляется.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 15 января 2019

Вы можете справиться со своей проблемой в фоновом режиме. Вы можете запустить задание crontab для своего скрипта PHP. После отправки хэша на сервер проверенный сценарий выполнит проверку.

Вот способ настроить задание crontab. https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

Вот как это должно выглядеть:

add_hush.php

...
$connection->query("INSERT INTO hashes (hash) VALUES ('1a2b3c3d2e1f4g5h6i')");
...

check_hash.php

...

$result = $connection->query("SELECT * FROM hashes");
while($row = $result->fetch_assoc()) 
{
    $connection->query('INSERT INTO data_name (user_id, hash, status) VALUES ("1", "' . $row["hash"]  . '", "closed")';

    $connection->query("DELETE FROM hushes WHERE hush=" . $row["hush"]);
}
...

add_hush.php будет вызывать ваш Ajax-запрос. Тогда check_hash.php будет звонком от cronjob.

Вот как вы вызываете PHP-скрипт из cronjob:

* * * * * /your/project/folder/check_hash.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...