Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
ИМХО :
- вынести работу с mysql в класс или функции
-убрать sleep, ибо он нафиг не нужен.
-и в AJAX возвращать чистый html код - это потенциальная брешь в безопасности.
> убрать sleep, ибо он нафиг не нужен
У меня в бекендовом демоне до сих пор стоят sleep(5), ибо без них все слишком быстро работает, и даже как-то некрасиво - не успеваешь разглядеть какие этапы проходят, и как вертится индикатор около текущего пункта ;(
ИМХО - задержка, дело не серверной части, это уже клиентская часть, для нашего удобства. А обработка на сервере должна проходить максимально быстро, и лишний раз не занимать процессорное время.
Ну это как я вижу этот мир.
> Ты так говоришь, как-будто sleep() его занимает 😉
Но зато рабочий процесс/тред апача/php-fpm/etc. простаивает без дела, в то время как другие клиенты, возможно, ждут освобождения этого процесса.
> висящий на sleep процесс PHP
Если быть точным, то там такая схема:
1) Сам демон написан на змее, пыхоморда общается с ним через json, а аяксовые приблуды для индикации статуса - через пыхоморду
2) Воркер - внешний процесс, запущенный демоном, который по ходу работы передает ему список этапов с флажками done/active/pending и список ошибок/предупреждений. В него и воткнуты sleep'ы...
Это всё равно что посоветовать экономить на спичках, хотя тут вовсю инъекция хлещет, три запроса вместо джойнов и стиль вмазанного овоща.
Больше прохладных советов, бро!
- вынести работу с mysql в класс или функции
-убрать sleep, ибо он нафиг не нужен.
-и в AJAX возвращать чистый html код - это потенциальная брешь в безопасности.
У меня в бекендовом демоне до сих пор стоят sleep(5), ибо без них все слишком быстро работает, и даже как-то некрасиво - не успеваешь разглядеть какие этапы проходят, и как вертится индикатор около текущего пункта ;(
Ну это как я вижу этот мир.
Ты так говоришь, как-будто sleep() его занимает 😉
Но да, эти sleep'ы стоит выпилить, чтобы юзеру меньше ждать приходилось.
Но зато рабочий процесс/тред апача/php-fpm/etc. простаивает без дела, в то время как другие клиенты, возможно, ждут освобождения этого процесса.
Если быть точным, то там такая схема:
1) Сам демон написан на змее, пыхоморда общается с ним через json, а аяксовые приблуды для индикации статуса - через пыхоморду
2) Воркер - внешний процесс, запущенный демоном, который по ходу работы передает ему список этапов с флажками done/active/pending и список ошибок/предупреждений. В него и воткнуты sleep'ы...
Оверинжиниринг детектед? 🙂
Небесплатность sleep'а признаю, и втыкание sleep'а "для красоты" всячески порицаю 😉
Больше прохладных советов, бро!