- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть тяжелый скрипт, собирающий фид на экспорт объемом 250 мб (выходной файл).
В последнее время перестал работать.
Запустил вручную - 504 Gateway
Погуглил - прописал в Нгихс -
в пхп фм - в www.conf
в пхп ини
max_input_time = 120
Перзапустил пхп и нгихс и скрипт выполнился. Я довольный ушел спать. Но ночью по крону скрипт не выполнился опять.
Запускаю из консоли - 504 ошибка.
Те, цифры выше - это уже третье увеличение лимитов. И вот еще что заметил. Скрипт без проблем отрабатывает сразу после перезапуска пхп (даже с лимитами в 2 раза меньше), но уже второй раз получаем 504.
Что посоветуете?
в командной строке работает другой php.ini
спроси с консоли
ночью по крону скрипт не выполнился опять
Can you run this task without involving of web server? I.e. as php-cli application?
"php file.php" or "curl http://blablabla"? Note that php-cli and php-fpm have different php.ini options!
If you can't run your script with php-cli, you may use fastcgi_finish_request() function to continue run the script in the background.
P.S. show your logs.
Наверно стоит попробовать зпускать фоновое задание и отдавать ответ когда оно выполнится, периодически проверяя статус выполнения.
Оптимизайка, при всем уважении, начинают подбешивать ваши ответы на инглше, яб еще понял если бы русского не знал, к чему эти извраты?
Джумла пишет:
Configuration File (php.ini) Path /etc/php/7.0/fpm
Loaded Configuration File /etc/php/7.0/fpm/php.ini (именно его я и правил)
Скрипт вызываю так - wget -O /dev/null "http://www.site.ru/index.php?option=blabla"
В ерор логе Нгихса ничего.
В логе пхп фм в момент работы скрипта появилось это
[24-Oct-2016 07:45:45] WARNING: [pool www] child 14160 exited on signal 9 (SIGKILL) after 1268.367945 seconds from start
В логе пхп фм в момент работы скрипта появилось это
So max_execution_time = 300 is just not enough?
Решил посчитать на какой секунде консоль отдает 504 ошибку - получилось примерно 25 сек. Думаете реально дело в max_execution_time ?
После получения 504 ошибки в консоли все настолько наглухо виснет, что даже htop не запустить:
root@nginx ~ # htop
-bash: fork: Cannot allocate memory
открой phpinfo, сколько там memory_limit?
Немного увеличь(добавь для начала например 16 или 24) это значение в php.ini и попробуй запустить скрипт снова
и не путай запуск с консоли как #php script.php и запуск из браузера, работают разные php.ini
Я бы запускал тяжелый скрипт с консоли, что бы исключить возню с webсервером, а копаться только в настройках PHP.
Запусти из консоли
, посмотри какой php.ini используется, его и правь.Да, вы правы, спасибо - править надо было тут /etc/php/7.0/cli
Вижу что и Оптимизайка что-то про кли писал выше, но из-за маразмов с инглишем нифига не понял о чем он там
Поставил
max_execution_time = 300
max_input_time = 120
а ниже уже было прописано
memory_limit = -1
перезагрузил пхп, подождал минут 15 и выполнил скрипт в консоли. Опять получил 504 ошибку и дикие тормоза.
В ероро логе пхп опять
[24-Oct-2016 09:30:46] WARNING: [pool www] server reached max_children setting (20), consider raising it
[24-Oct-2016 09:31:33] WARNING: [pool www] child 22249 exited on signal 9 (SIGKILL) after 869.685582 seconds from start
ну так увеличь max_execution_time, ну и max_input_time тоже на всякий случай увеличь
ну так увеличь max_execution_time, ну и max_input_time тоже на всякий случай увеличь
А смысл его увеличивать если консоль и не ждет 300 сек, а выдает ошибку секунд через 30?