У меня вопрос к человеку, имеющему опыт использования PHP для фоновых заданий.
У меня есть программное обеспечение (PHP), которое люди используют для перевода статей. Может быть (иногда) 50 статей за 5 секунд.
У меня есть cron, работающий каждые 5 секунд, проверяющий, есть ли переводы в базе данных mysql, и если они есть, это занимает 15 раз за раз, и переводит (curl get, вызывая скрипт перевода) их 1 на 1 в for.
Это довольно медленно, и я хочу какую-то многопоточность. Я не могу (и не думаю, что это необходимо) использовать pthreads.
Я думал, может быть, мне следует запускать работу cron каждую секунду
OR
Выполнение 1 задания cron каждые 5 секунд, но из задания cron запустите 10 различных процессов с exec, каждый из которых получит перевод.
Это мудро? Что вы рекомендуете?
И если моя идея хороша (о порождении процессов с использованием exec), как я могу порождать процесс и не ждать его завершения (так что просто запустите 15 процессов и позвольте им выполнять свою работу в фоновом режиме)?
Я пытался:
exec ('php index.php smallCron> / dev / null &');
Но это не работает.
ЕСЛИ я заменяю / dev / null именем файла (скажем, aaa.txt), то скрипт вызывается, но «exec» зависает и ожидает его завершения.
Если я оставлю / dev / null там, ничего не происходит, index.php никогда не вызывается.
Спасибо!