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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как правильно сделать

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
vanicon
Отправлено: 10 Октября, 2012 - 05:18:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Здравствуйте!
Установил Gearman(очередь задач) на сервер.
Хочу попробовать сделать отложенную отправка писем(подтверждение регистрации и тд), а также для различного рода "тяжелых запросов" к бд.
Но как я сначала думал, установил задачи назначил функции к ним, и все будет само работать и выполняться... Но увы, ничего подобного.
Как узнал я позже что бы все работало, надо что бы был произведен запрос на файл, в котором в бесконечном цикле ожидаются команды и там же потом они выполняются.
Естественно делать запросы на этот файл каждый раз когда нужно выполнить команды или через какой промежуток времени не вариант, хотелось бы что бы скрипт постоянно был в памяти(постоянно слушал задачи и если есть выполнял бы их).
Решил поставить этот скрипт(бесконечный цикл) в консоли через nohup, тем самым сделав его всегда исполняемым.
Но что бы команды выполнялись побыстрее, сделал копию этого скрипта и назначил его из консоли также через nohup, так как там команды работа с бд и еще отправка писем...
Посоветуйте может есть решения лучше?


-----
Так было, так есть и так будет
 
 Top
Zuldek
Отправлено: 10 Октября, 2012 - 09:34:50
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




db+cash+cron...

(Отредактировано автором: 10 Октября, 2012 - 09:35:28)

 
 Top
vanicon
Отправлено: 10 Октября, 2012 - 12:35:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Zuldek пишет:
db+cash+cron...

А по подробнее можно?


-----
Так было, так есть и так будет
 
 Top
Zuldek
Отправлено: 10 Октября, 2012 - 12:39:51
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Сложно судить не зная проекта.. но, имхо, для проектов на php сервер очередей задач... это что-то похожее на охоту с гаубицей.

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

(Отредактировано автором: 10 Октября, 2012 - 12:40:27)

 
 Top
vanicon
Отправлено: 10 Октября, 2012 - 12:49:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Для рассылки писем возможно бы можно сделать через cron, но вот с тяжелыми запросами к бд которые как бы должны как можно быстро выполняться.
Не знаю будет лучше запускать на это cron чрез каждую минуту...
И как это дело через него распаралить тоже не знаю, а вот с gearman получается если можно так сказать распралить это дело, если можно это так назвать...
Просто не знаю на сколько мой вариант ущербный?
Читал много как распалилить приложение на php, но пока ничего так и не получилось...

(Отредактировано автором: 10 Октября, 2012 - 12:50:15)



-----
Так было, так есть и так будет
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB