LINUX.ORG.RU

использовать простую многопоточность

 ,


0

1

есть консольный скрипт на пхп,он в длинном цикле перебирает sql запросы,выполняет запрос,получает строки,затем перебирает строки и делает рассылку по строкам
занимает много времени,хочу сделать через потоки
знаю что у пхп есть pthreads но там много мороки с установкой
может есть штатное решение в линуксе? например очередь
чтобы я добавил команду в очередь и она тут же в отдельном потоке выполнилась

подойдет даже простое решение, я добавляю в очередь команду с параметрами, а очередь сразу же открывает поток и вызывает эту команду в новом потоке

знак амперсанда & вконец команды заставит выполнится команду в отдельном потоке. Если написать php скрипт который будет на вход принимать нужные тебе данные - то в скрипте очереди можно вызывать системным вызовом твой скрипт обработки. Но наверно проще разобраться с много поточностью в php чем городить велосипеды

Silerus ★★★★
()
Ответ на: комментарий от kommersant

python myscript.php arg1 arg2 arg3 & -будет выполнятся в отдельном потоке, но это велосипед

Silerus ★★★★
()

Я так понимаю, скрипт делает почтовую рассылку. Можно настроить собственный почтовый сервер (для этого нужен грамотный сисадмин) и рассылать через него.

anonymous
()

она тут же в отдельном потоке выполнилась

Распараллеливание не приведёт к ускорению. Оно приведёт к распараллеливанию (и бану на почтовом сервере/блокировкам на sql сервере).

Ты лучше разбей на подзадачи. Их ещё на подзадачи и гуляй в цикле по получившемуся дереву, изменяя состояния.

anonymous
()
Ответ на: комментарий от anonymous

не почта а пуш уведомления fcm.googleapis.com/fcm/send
пока сделал с таким дополнением к команде

> /dev/null 2>/dev/null &

kommersant ★★
() автор топика
Ответ на: комментарий от tyamur

нужно простое решение
кстати parallel не подходит потому что он паралелит на основе списка переданных параметров, ну или я не до конца разобрался

kommersant ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.