Я пытаюсь сделать систему как очередь, но не работает, как я ожидал.
ОС: Windows (IIS)
PHP: 5.2
Итак, позвольте мне рассказать вам, что я делаю.
1º Нажмите одну кнопку и вставьте запись в базу данных
$stmt = odbc_prepare($conn, 'INSERT INTO [queue] (ask_date, run_date, executed, user_id) VALUES (GETDATE(), NULL, 0, ?)');
2º После этого я буду запускать скрипт для проверки выполненных значений = 0
$handle = new COM('WScript.Shell');
$handle->Run("php generate.php", 0, false);
2º Проверить выполненные значения = 0 и Обновление столбца де выполнено до 1 (сгенерировать. php)
$sql = "SELECT * FROM queue WHERE executed=0;";
$rsQueue = odbc_exec($conn, $sql);
while (odbc_fetch_row($rsQueue )) {
//code here
}
Моя проблема в том, что когда я нажимаю кнопку, он всегда открывает новый процесс (php .exe). (2 щелчка - 2 процесса; 3 щелчка - 3 процесса; и т. Д. c ..)
Моя идея заключается в том, что при первом нажатии кнопки выполняется сценарий (2º), но в остальное время, если сценарий выполняется, добавьте только содержимое таблицы очереди, которая будет выполнена в текущем процессе.
Любая помощь?