Size: a a a

2020 February 28

PL

Pavel Lint in Laravel Pro
Stepan Stepanov
Ок, а есть связка pcntl-laravel, где остается то-же окружение, инклуды и тд ? Наверняка да, просто надо почитать доку, так?
форк имеет всё то же самое что и родитель
источник

PL

Pavel Lint in Laravel Pro
в пхп идея в том что когда ты вызываешь fork(), на этом месте скрипт делится надвое, до этого общее
источник

SS

Stepan Stepanov in Laravel Pro
т.е. если вернутся к изначальному вопросу, чтобы я в функцию передал айди пользователя, под ним авторизовался, сделал дело, и вернул результат и все это на базе pcntl-fork и тд
источник

SS

Stepan Stepanov in Laravel Pro
Pavel Lint
форк имеет всё то же самое что и родитель
а о, и передача результата не через шаредмемори?
источник

PL

Pavel Lint in Laravel Pro
делай всё общее до того как вызовешь fork, тогда в дочерних процессах будут доступны все эти переменные (их копии)
источник

i

invariance in Laravel Pro
мистер никитос
Дока говорит, что нужно перекомпилить php: https://www.php.net/manual/en/pcntl.installation.php
ну так да
источник

SS

Stepan Stepanov in Laravel Pro
Pavel Lint
делай всё общее до того как вызовешь fork, тогда в дочерних процессах будут доступны все эти переменные (их копии)
афигенно, пойду проверять
источник

SS

Stepan Stepanov in Laravel Pro
Stepan Stepanov
а о, и передача результата не через шаредмемори?
особенно этот момент
источник

PL

Pavel Lint in Laravel Pro
результат так же можешь записывать куда хочешь, просто у тебя будет нормальное определение когда все дочерние процессы отработали. Либо если тебе достаточно вернуть integer, то можно использовать возвращаемое значение процесса.
источник

PL

Pavel Lint in Laravel Pro
ну и ваще как бы для всего есть свой инструмент, и fork/pcntl_wait это инструмент для того что ты делаешь, никак не редис и тп
источник

PL

Pavel Lint in Laravel Pro
бывает ограничение если фиговый хостинг или ещё что-то, но если ограничений нет то лучше использовать прямое решение
источник

SS

Stepan Stepanov in Laravel Pro
а если есть ограничения, то в целом моя схема это норм? Функции тяжелые, 5-10 секунд выполняются, кучу памяти и проца съедают и тд
источник

PL

Pavel Lint in Laravel Pro
да
источник

SS

Stepan Stepanov in Laravel Pro
сейчас с бэка запускается джобы, джобы на отдельном мощном сервере это делают и тд
источник

PL

Pavel Lint in Laravel Pro
ну нормально
источник

PL

Pavel Lint in Laravel Pro
если прямое решение не подходит, то красиво всё равно не получится
источник

PL

Pavel Lint in Laravel Pro
наверное тогда вопрос встаёт обязательно ли ждать в основном потоке
источник

PL

Pavel Lint in Laravel Pro
нельзя ли просто всё асинхронно сдлеать и потом уведомить кого надо что процессы завершены
источник

SS

Stepan Stepanov in Laravel Pro
Ну да, это уже второе дело
источник

SS

Stepan Stepanov in Laravel Pro
и еще вопрос. По поводу воркеров. У меня у одного они не отдают память обратно в ОС после выполнения задания?
источник