За последние 24 часа нас посетили 16482 программиста и 1671 робот. Сейчас ищут 876 программистов ...

Выполнение SQL запроса

Тема в разделе "PHP и базы данных", создана пользователем Talany, 24 июн 2014.

  1. Talany

    Talany Активный пользователь

    С нами с:
    20 апр 2012
    Сообщения:
    15
    Симпатии:
    0
    Доброго времени суток Профи и любители PhP!
    Возникла необходимость сделать страничку, которая будет запускать SQL запрос НО этот запрос может выполнятся 10мин, 1час, 2суток и т.д!
    Соответственно пользователь не будет ждать такое количество времени.
    Как сделать верно, так чтобы пользователь только запустил страницу и в ответ ему выдать "В работе". Но скрипт продолжал работать.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    гугли "демон на php". на хабре были примеры. задача твоей странички подсунуть демону задание, сам веб-скрипт не должен так долго выполняться.

    Добавлено спустя 3 минуты 13 секунд:
    p.s. ну не обязательно буквально демон. можно по крону запускать скрипт, он проверяет наличие "задания", если нет — сразу завершается. если есть — выполняется сколько надо. только нужен какой-то флажек занятости.

    для web и cli можно настроить разные time limit. что-то было здсь совсем недавно по теме…
     
  3. Talany

    Talany Активный пользователь

    С нами с:
    20 апр 2012
    Сообщения:
    15
    Симпатии:
    0
    set_time_limit это понятно.
    Дело в том, нужно ли держать web скрипт? И еще мне необходимо организовать очередь, то есть USER1 запустил некий SQL и он в процессе, то задача последующего попадет в очередь. Как завершится задача USER1 то запустится задача последующего и т.д
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
  5. ermolmolotov

    ermolmolotov Новичок

    С нами с:
    21 авг 2014
    Сообщения:
    43
    Симпатии:
    0
    Возможно тебе стоит изменить код.
    Т.е. за основу возьми возвращения значения, и в условии пропиши (когда оно возвратиться - то мы записываем в переменную значение или новое условие которое которое должно у тебя быть следующим)