Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
краткая история: Код который я сейчас разбираю был написан двумя разработчиками назад, так что на вопрос зачем сделали так? Я ответить не смогу. Суть вопроса: Есть некое подобие контроллера, в этом адском месеве есть кусок который отвечает за рассылку. вот этот кусок Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот что нужно: Сделать в этом же файлике функцию, с ajax кодом которая бы следила за тем вернулось что-то вообще или нет, если нет то автоматом должна перезапускать рассылку. Собственно сам вопрос как запихать в этот php файлик, js код, чтоб он следил за рассылкой до конца? Фуф, вроде как то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:38 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
Nick-name, И ещё нюанс, весь этот php разделён не функциями а вот такими ифами Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 12:44 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
Nick-name, вроде аякс тут ни при чем, достаточно проверять состояние $result в цикле, автоматом перезапускать - а как быть с тем што уже отослано? а скрипт для перезапуска у вас вроде как уже в die прописан, видимо нужно его просто вызвать в зависимости от состояния $result мы лично рассылку делали не так, при нажатии пользователем отправить, список пишется в базу с состоянием не отправлено, кроном периодически проверяется состояние нужной таблички, если есть неотправленные - отправляется нужная порция, для этой порции изменяется состояние, пользователь занимается своими делами, если хочет посмотреть состояние рассылки - обновляет нужную страничку с результатами рассылки, где отображается состояние, при ошибках при отправке - можно повторить отправку конкретного пиьсма пару-тройку раз, или сразу записать ошибку в состояние - дальше глазками ответственный смотрит в чем дело ну и отрефакторить все это дело вам никто не мешает, если вам это и дальше поддерживать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:00 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
-k2-, Ну в случае сбоя рассылка должна начинаться с места где её прервали, так что с тем что ушло вроде проблем нет. Меня смущает вероятность сели вообще php скрипт отвалился, ну тоесть вообще ничего не вернул, вот как бы его дёрнуть в этом случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:08 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
Nick-name, тут как бы непонятно, что у вас в while проверяется вас смущает выроятность отваливания php-скрипта, но вы хотите в этот же скрипт вписать javascript-код, который бы перезапустил этот скрипт? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 13:22 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
-k2-, ну на счёт while это пример))) мне уточнили задачу, оказалось, что нужно по нажатию на кнопку рассылка запускать ajax а уже он будет дергать то, что делает рассылку. А так да, запуск отвалившегося скрипта самим собой, мне то же показалось невыполнимой задачей))). В итоге всё хорошо закончилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2014, 23:55 |
|
||
|
PHP Говнокод, извернуться и всунуть код js (ajax) в php
|
|||
|---|---|---|---|
|
#18+
Nick-nameмне уточнили задачу, оказалось, что нужно по нажатию на кнопку рассылка запускать ajax а уже он будет дергать то, что делает рассылку.Вообще, рассылки по-хорошему кроном делают. А веб-странички с кнопочками - для управления хороши, как уже сказал выше уважаемый -k2- . Nick-nameМеня смущает вероятность сели вообще php скрипт отвалился, ну тоесть вообще ничего не вернул, вот как бы его дёрнуть в этом случаеЗапускайте задание рассылки кроном хоть каждую минуту. Минутой раньше придет письмо, или минутой позже - оно обычно не принципиально. Чтоб не плодить лишние процессы и не создавать путаницу (а скрипт может работать и дольше минуты), необходимо предусмотреть блокировку от повторного выполнения скрипта сразу после запуска (порядка трех строк кода). Этот способ хорош еще и тем, что иногда приходится устанавливать относительно небольшое количество писем в разовом запуске скрипта. Дело в том, что некоторые хостеры ограничивают количество отправляемых писем в час. Если имеем ограничение хостера в 1200 писем/час, а требуется разослать три 5000 писем, то идея с аяксом будет, мягко говоря, совсем несостоятельной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2014, 00:52 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=23&tid=1462268]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 461ms |

| 0 / 0 |
