За последние 24 часа нас посетил 20731 программист и 1115 роботов. Сейчас ищут 399 программистов ...

генерировать event в listener-е ?

Тема в разделе "Laravel", создана пользователем Дмитрий22, 13 фев 2019.

Метки:
  1. Дмитрий22

    Дмитрий22 Новичок

    С нами с:
    13 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    Коллеги подскажите как реализовать обработку событий:

    надо отправить запрос на другой сервер,
    полученный ответ проверить и если он не соответствует(например pending) — отправить запрос повторно

    я сейчас перед отправкой делаю sleep(60*10);
    тупо, но не знаю как еще в ларавеле сделать задержку перед исполнением кода
    кстати sleep(60*10); ждет ровно 2 минуты..

    полученный ответ проверяю и если не то что мне нужно — опять из листенера генерирую евент тот же самый

    у меня такая схема работает только 1 раз. Т.е. если первый раз листенер генерит евент — он обрабатывается нормально а второй раз ничего не происходит...

    ps: может я вообще не правильно это делаю
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Это у тебя в смысле в процессе запроса столько висит? Может лучше очереди взять?
    --- Добавлено ---
    Зачем? Что, цикл в листенере не поставить. Но опять же, лучше такие вещи делать с помощью очередей, тем более что Laravel их прекрасно поддерживает
     
  3. Дмитрий22

    Дмитрий22 Новичок

    С нами с:
    13 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    Мне нужна задержка между проверками, т.к. удаленный сервер медленно обрабатывает запросы.

    Если я делаю без sleep - то проверки происходят штук 20 в секунду...

    Думал реализовать через задержку.
    Но, как и писал выше, код выпрлняется через 2 минуты - без разницы
     
  4. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    Я про то, что это у тебя при запросе с браузера две минуты что-то обрабатывается? Может, вместо того, чтобы событие кидать, будешь в очередь задачу ставить?