Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как правильно сделать
Форумы портала PHP.SU » PHP » Программирование на PHP » Как правильно сделать

Страниц (1): [1]
 

1. vanicon - 10 Октября, 2012 - 05:18:25 - перейти к сообщению
Здравствуйте!
Установил Gearman(очередь задач) на сервер.
Хочу попробовать сделать отложенную отправка писем(подтверждение регистрации и тд), а также для различного рода "тяжелых запросов" к бд.
Но как я сначала думал, установил задачи назначил функции к ним, и все будет само работать и выполняться... Но увы, ничего подобного.
Как узнал я позже что бы все работало, надо что бы был произведен запрос на файл, в котором в бесконечном цикле ожидаются команды и там же потом они выполняются.
Естественно делать запросы на этот файл каждый раз когда нужно выполнить команды или через какой промежуток времени не вариант, хотелось бы что бы скрипт постоянно был в памяти(постоянно слушал задачи и если есть выполнял бы их).
Решил поставить этот скрипт(бесконечный цикл) в консоли через nohup, тем самым сделав его всегда исполняемым.
Но что бы команды выполнялись побыстрее, сделал копию этого скрипта и назначил его из консоли также через nohup, так как там команды работа с бд и еще отправка писем...
Посоветуйте может есть решения лучше?
2. Zuldek - 10 Октября, 2012 - 09:34:50 - перейти к сообщению
db+cash+cron...
3. vanicon - 10 Октября, 2012 - 12:35:24 - перейти к сообщению
Zuldek пишет:
db+cash+cron...

А по подробнее можно?
4. Zuldek - 10 Октября, 2012 - 12:39:51 - перейти к сообщению
Сложно судить не зная проекта.. но, имхо, для проектов на php сервер очередей задач... это что-то похожее на охоту с гаубицей.

В случае с отложенными рассылками храню все задачи во временной таблице, cronom запускаю скрипт рассылки с нужной периодичностью и нет нужды крутить на сервере лишние процессы вечные
5. vanicon - 10 Октября, 2012 - 12:49:08 - перейти к сообщению
Для рассылки писем возможно бы можно сделать через cron, но вот с тяжелыми запросами к бд которые как бы должны как можно быстро выполняться.
Не знаю будет лучше запускать на это cron чрез каждую минуту...
И как это дело через него распаралить тоже не знаю, а вот с gearman получается если можно так сказать распралить это дело, если можно это так назвать...
Просто не знаю на сколько мой вариант ущербный?
Читал много как распалилить приложение на php, но пока ничего так и не получилось...

 

Powered by ExBB FM 1.0 RC1