andry
Новичок
Как выносите выполнение логики, которая не влияет на ответ клиенту?
Поясню. Практически везде есть задачи типа:
послать юзеру мыло, после какого-то действия (нотификайшены на ответы в посте)
записать статистику
и прочая радость, которая уже никак не влияет на HTTP response клиенту. Естественное желание - отдать ответ как можно быстрее, а потом сделать все остальное, причем все остальное занимает причное время (относительно конечно) . Причем в большистве случаев, у меня точно, особо не раляет, что что-то там не выполнится, почему... запишем в лог и нормально
Понятно, что можно отправить буфер, а в конце все это сделать. Но не хочется чтоб процессы висели лишее время на критичных к производительности серверах.
Мои мысли. Делаем отдельный сервак, или несколько, под не критичные задачи. Пишем компонентик, который по сокетам дергает какие-то модульки (нотификейшены, статистика...)
сокеты немного хитрые,в хедерах
"Connection: Close\r\n\r\n";
тем самым из основного приложение мы практически сразу отваливаемся от сокета и не ждем ничего. Типа асинхронно , но без колбеков, ибо не требуется.
Кто как борится с такими вещами?
Поясню. Практически везде есть задачи типа:
послать юзеру мыло, после какого-то действия (нотификайшены на ответы в посте)
записать статистику
и прочая радость, которая уже никак не влияет на HTTP response клиенту. Естественное желание - отдать ответ как можно быстрее, а потом сделать все остальное, причем все остальное занимает причное время (относительно конечно) . Причем в большистве случаев, у меня точно, особо не раляет, что что-то там не выполнится, почему... запишем в лог и нормально
Понятно, что можно отправить буфер, а в конце все это сделать. Но не хочется чтоб процессы висели лишее время на критичных к производительности серверах.
Мои мысли. Делаем отдельный сервак, или несколько, под не критичные задачи. Пишем компонентик, который по сокетам дергает какие-то модульки (нотификейшены, статистика...)
сокеты немного хитрые,в хедерах
"Connection: Close\r\n\r\n";
тем самым из основного приложение мы практически сразу отваливаемся от сокета и не ждем ничего. Типа асинхронно , но без колбеков, ибо не требуется.
Кто как борится с такими вещами?