За последние 24 часа нас посетили 18040 программистов и 1677 роботов. Сейчас ищут 1073 программиста ...

Передача огромных параметров фоновому скрипту

Тема в разделе "PHP для профи", создана пользователем eurobax, 20 май 2018.

  1. eurobax

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

    С нами с:
    25 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Как запустить из скрипта PHP длугой скрипт, и передать ему до 10Мб данных?
    Причем, не дожидаться его выполения (фонвый скрипт будет делать работу несколько минут).
    Для передачи данных не использовать файлы, БД

    Путем личных проб и ошибок, прихожу к выводу, что никак и нельзя?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.855
    Симпатии:
    748
    Адрес:
    Татарстан
    используйте очереди
    скрипт -родитель помещает в очередь пакет данных, запускает фоновый скрипт (либо тот сам запускается по крону переодически)
    но чтоб очереди реализовать нужно либо готовые решения использовать, например ZMQ, RabbitMQ итд... либо реализовывать их через БД, файлы .....
    а ваше неприятие этих технологий непонятно
     
  3. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    В чем проблема и что конкретно нельзя?
     
  5. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @eurobax можно как минимум из php отдать команду серверу... (Но это не безопасно)
    --- Добавлено ---
    @eurobax Можно подумать шире и заюзать крон. Вон у ларавеля библа целая есть https://laravel.ru/docs/v5/scheduling
     
  6. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    nohup
    --- Добавлено ---
    http://linux-notes.org/komanda-nohup-v-unix-linux/
    смысл в том, что с помощью скрипта вызванного через web сервер ты через консоль запускаешь nohup через который запускаешь php скрипт
    nohup умеет работать в фоновом режиме.
    --- Добавлено ---
    а данные свои можешь в файл положить из "дочернего" скрипта их взять.
    Желательно, не одним махом :)
     
  7. username

    username Новичок

    С нами с:
    6 июл 2017
    Сообщения:
    223
    Симпатии:
    17
    через curl можно послать post запрос с таймаутом 4 секунды, в вызываемом скрипте указать ignore_user_abort(true);
     
  8. johovich

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

    С нами с:
    24 авг 2016
    Сообщения:
    146
    Симпатии:
    17
    Топикстартер же не для олимпиады по информатике спрашивает. А ты ему люстру на скрутках подключить предлагаешь.

    Задачка из серии: "Как выпить стакан не используя рук". PHP работает синхронно, поэтому "не дожидаясь завершения" можно только с помощью всяких способов из области "как прикурить от лампочки на 40W".

    На мой вкус простейшая очередь, которая постоянно запускается CRON - вполне приличное решение для долгоиграющих задач.