php пошаговое выполнение скрипта cron

Как запускать cron чаще, чем раз в минуту при помощи PHP

Классический конфиг — файл с записями cron jobs в операционной системе Linux, выглядит следующим образом:

Первые пять параметров означают время выполнения этой задачи, а шестой — сама команда, которую необходимо запустить. Параметры времени — это: минуты, часы, дни, месяцы и день недели. Причем все числа должны быть представлены в виде целых чисел либо в виде специального синтаксиса.

В итоге, минимально возможный интервал запуска команды — это один раз в минуту.

Для многих задач выполнение команды нужно намного чаще, например раз в 10 секунд. Для некоторых задач по автоматизации бизнес процессов максимально допустимая задержка часто составляет не более чем 1-1.5 секунды.

Разумеется, классический cron для этого не подходит — его нужно усовершенствовать.

Ниже представлена пошаговая реализация по созданию дополнительного функционала (на языке PHP) к классическому cron на Linux с применением дополнительной защиты от повторного запуска процессов.

Постановка задачи и настройка cron

Для примера будем использовать следующую задачу:

Итак, cron настроим в его максимальном виде, т.е. раз в минуту:

Выполнение одного цикла

Изначально следует определиться, с какой частотой мы будем запрашивать новые задачи в базе данных — в зависимости от этого будет меняться количество циклов и логический сон (функция sleep )

В текущем примере используется шаг равный 10 секундам. Следовательно количество циклов 60 / 10 = 6. Итого, общий код выглядит следующим образом:

Уточнение: в данном примере используется шаг равный 10 секундам, который может обеспечить минимальный интервал выполнения скрипта один раз в 10 секунд. Соответственно, для более частого выполнения следует изменить количество циклов и «время на сон».

Как избежать повторного выполнения задачи

В представленном виде есть одна неопределенность, а именно — повторное выполнение задачи в случае, если она уже начата. Это становится особенно актуально, если задача «сложная» и требует несколько секунд на ее реализацию.

Таким образом создается проблема повторного выполнения:

Но мы не будем нагружать базу данных: исходя из моего тестирования, MYSQL может принять запрос, но обработать его не сразу. Различие даже в 0.5 секунд может привести к повторному выполнению — что категорически не подходит.

Также в данном случае речь идет всего лишь про статусы задач, поэтому лучше будем использовать файловую систему сервера.

Основная модель проверки строится при помощи flock — функции, которая ставит и снимает блокировку с файла.

В исполнении PHP работу функции можно представить следующим образом:

Результат

Общий вид всего цикла выглядит следующим образом:

Таким образом, подобный алгоритм позволяет запускать цикличное выполнение обработки задач и не беспокоится, что задача будет обработана более одного раза.

И теперь достаточно просто запускать этот код через cron каждую минуту, а он в свою очередь, будет запускать более мелкие циклы уже внутри себя.

Источник

Настройка и запуск cron на веб-сервере

Cron — это программное обеспечение для настройки автоматического выполнения заданий (скриптов) в Unix/Linux подобных системах: Centos, Debian, Ubuntu и других. Этот планировщик задач работает аналогично во всех версиях операционных систем.

Добавить скрипт в Cron можно через специальный файл «crontab», содержащий список заданий для выполнения.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Пример пустого файла crontab

Как задавать время в Cron

Чтобы правильно добавить задание сначала указывается время и периодичность и в конце путь к исполняемому скрипту.

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

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Пример

Строка следующего вида подразумевает выполнение команды каждый день в 7 утра и 7 вечера:

Настройка Cron в ISPmanager

Настроить Cron на хостинге проще всего через панель управления. Для примера разберем как производится настройка планировщика в ISPmanager 4.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Настройка Cron для запуска PHP-скрипта

В некоторых случаях бывает так, что автоматическое выполнение PHP-скрипта невозможно. Чаще всего подобные ошибки случаются при запуске PHP-скрипта через локальный интерпретатор. В таких случаях требуется запустить Cron вручную, для чего лучше всего использовать программу wget. В приведенном ниже примере «example.com» нужно заменить на реальный путь к вашему PHP-файлу.

Полезные примеры

Разберем уже приведенный выше пример, немного изменив параметры:

Запуск PHP-скрипта будет происходить в 7:00 и 19:00 каждого воскресенья и 3 числа каждого месяца (совпадения дня недели и числа не имеют значения).

/dev/null/2>&1 — эта команда Cron добавляется в конце сценария (строки), для выполнения скрипта в фоновом режиме без уведомлений.

Помимо этого, можно добавлять другие полезные опции в конце строки планировщика Cron. Как например, для отладки запускаемого скрипта, нужен лог-файл выполнений.

То есть, если мы хотим настроить вывод результатов запуска задания Cron в определенный файл, можно изменить команду следующим образом:

Просмотрев такой лог, можно понять причину, почему Cron не выполняет скрипт.

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Источник

Запуск PHP скрипта по расписанию cron. Когда не всё так ясно

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

В этой статье я расскажу о некоторых тонкостях запуска php-скриптов на хостингах, незнание которых может попортить немало нервов и начинающим программистам, и мастерам средней руки.
Причина написания статьи: проблемы с запуском скриптов на хостингах с разными настройками. А поскольку настройки могут быть разными, информация приводимая для общих случаев могут не подходить и приводить в заблуждения.

Немного теории по этим ссылкам: тут и тут, для тех хочет освежить память.

Случай первый


В настройках операционной системы не указаны пути по умолчанию. Как следствие следующая команда в cron не будет выполнена.

Правильной командой будет второй вариант, где мы пропишем полный путь до интерпретатора php.

Есть ещё несколько способов запуска php скрипта описанных здесь. Интересным будет здесь то, что php скрипт запускается как файл с командами для консоли и тут можно написать целую тучу команд и описать всевозможные варианты на любой вкус. Код выглядит так.

В команде для выполнения в cron прописывается путь к скрипту и только. В скрипте ставятся символы #!, а дальше просто пишем нужные нам команды на языке bash.

Случай второй


Выполнение скрипта при запросе из браузера приводит к выводу страницы в браузер. А при выполнении скрипта через cron приводит к выводу текста страницы в командную строку. Тут может быть несколько вариантов. Система может быть настроена на сохранение результатов вывода в консоль в виде файла. Причем файл этот может размешаться не в самом типичном месте. Постепенно это может забить всё пространство на диске. Часто под сайт дают место в 1 Гигабайт, 500 мегабайт. И даже встречались хостинги с 50 и 10 мегабайт под сайт.

Как вариант, вывод может быть перенаправлен на почтовый ящик, который заботливый хостер ненавязчиво подарил вам и прописал в настройках хостинга как email по умолчанию. При каждом выполнении скрипта весь текст, выводящийся в консоль, будет оформлен в письмо. Проблемы могут начаться неожиданно. Если задание cron выполняется часто, а у почты хостинга прописано ограничение на количество писем в день, почта просто ляжет (заблокируется провайдером как потенциальный спамер). И как неприятные последствия вы получите отказ в регистрации пользователей, уведомление пользователей и д.р., что подвязано на почту.

Решение старо как мир. Нужно сделать перенаправление вывода из консоли в пустоту. Делается это добавлением команды в конце команды крона.

Иногда админы хостинга берут на себя обязанность ненавязчиво поставить их за пользователя. Тут тоже может быть подводный камень.

Случай третий


Ситуация проста. Нужно отладить скрипт, запускаемый планировщиком. Можно попытаться сделать это средствами php, заставлять скрипт писать логии и т.п. Но есть способ куда проще, нужно перенаправить вывод в файл. Команда проста, дополнительный параметр к нашей команде:

Её надо добавить в конце команды:

Знак «>» указывает системе о перенаправлении вывода. Далее имя файла. В нашем случае указан абсолютный путь. Этот пример не составляет труда найти в интернете. Но тут нас может поджидать неприятность, вытекающая из второго случая. Заботливый хостер автоматически добавляет перенаправление вывода в конце нашей строки. И иногда маскирует это. В итоге получается команда вида:

В итоге вывод снова перенаправлен в пустоту и выходной файл будет пуст. Тут хостеру можно указать на его ошибку, что он уж слишком перехитрил с настройками. А можно сразу воспользоваться костылём. После команды перенаправления в файл закончить команду символами &&. Эти два символа используются в командной строке для объединения нескольких команд в одной строке. Они дают командной строке понять, что команда окончена и дальше идет следующая команда. К ней и применяется перенаправление в пустоту. В итоге и перенаправление в пустоту осталось и лог файл записан верно. Пример команды:

Случай четвёртый

Первое, что находишь в интернете по этой проблеме – совет прописать в кроне команду смены директории:

Но в каких-то случаях это не помогает. Выход есть. Один из них взять всё в свои руки и задать недостающее окружение для работы скрипта. Информации про это в интернете уже больше.

Иногда просто хватает вписать следующий код в начале скрипта и пути снова становятся рабочими.

Как видите, всё прописано функциями и утруждаться настройками не надо.

Источник

Управление Cron средствами php

В уроке мы создадим динамический класс PHP, который будет использовать безопасное подключение, и предоставит нам возможность управления cronTab!

Краткий обзор Crontab

Несмотря на то что на первый взгляд синтаксис планирования новой cron задачи может не на шутку озадачить новичка, со временем и практикой всё станет довольно-таки просто. Если коротко, то у cron задачи есть пять колонок, каждая из которых представляет хронологический ‘оператор’ (время запуска), и путь к самому файлу, который необходимо выполнить:

Как вы уже поняли, каждая из колонок представляет собой цифру (время), относящееся к той или иной задаче. Давайте рассмотрим их поподробнее:

Например, если бы кто-то хотел выполнять задачу в 0:00 в первый день каждого месяца, то это выглядело бы примерно так:

Если бы мы хотели наметить задачу, которая бы выполнялась каждую субботу в 8:30, то мы написали бы следующий код:

Также существует множество операторов, которые могут использоваться для того, чтобы настроить график ещё более детально:

По умолчанию cronTab отправляет почтовое уведомление всякий раз, когда запланированная задача выполнена. Тем не менее, при многих обстоятельствах, это только часть того, что необходимо сделать. Мы можем легко расширить эту функциональность, переадресовывая поток данных этой команды к ‘нулевому устройству’ или устройству /dev/null. По сути, в нашем случае это будет файл, который отклоняет каждый идущий к нему запрос. Переадресация потока данных осуществляется с помощью оператора >. Давайте рассмотрим пример того, как мы можем переадресовать стандартный поток данных к нулевому устройству, используя cron задачу, которая будет запускаться каждую субботу в 8:30:

Вдобавок к тому, что у нас есть, если мы переадресуем поток данных к устройству, которое не существует, то наверняка нужно также переадресовать стандартные ошибки. Мы можем сделать это, просто переадресовывая их в то же место, где и должно находиться наше устройство!

Шаг 1. Чертёж

PHP libssh2 Установка / Конфигурация (http://www.php.net/manual/en/ssh2.installation.php)

Мы начнем наш класс с объявления четырёх приватных свойств:

Наш класс должен быть в состоянии соединиться с сервером и подтвердить подлинность пользователя, для того, чтобы только администратор мог пользоваться данной утилитой. Таким образом, мы установим связь SSH2 и подтвердим подлинность ее в пределах конструктора.

После того, как пользователь авторизуется, ему понадобится метод, который будет связан с выполнением различных команд, точнее сказать ответственным за управление задачами. Мы назовем этот метод exec (). Данный метод мы будем вызывать из других методов нашего класса, когда нам понадобится выполнить команду на удаленном сервере.

Затем, нам понадобится возможность вписать cronTab в файл – на это у нас должны быть соответствующие права. Также не нужно забывать, что мы так же должны быть в состоянии удалить этот файл, когда он нам больше не будет нужен. Итак, к нашему методу прибавляется ещё несколько методов, таких как write_to_file () и remove_file () для добавления и удаления файлов.

Конечно, мы будем также нуждаться в возможности создавать и удалять cron задачи. Таким образом, мы определим методы append_cronjob () и remove_cronjob ().

После того, как мы удалили единственный или последний cronjob, нам понадобится возможность удалить весь cronTab вместо того, чтобы пытаться создать пустой. Для этого мы напишем метод remove_crontab (), чтобы реализовать данную функциональность.

Наконец, мы создадим два вспомогательных метода для нашего класса. Один из них будет возвращать булево значение, проверяя существование временного cron файла. Второй будет использоваться для того, чтобы показать сообщения об ошибке, если таковое возникнет в ходе работы скрипта. Мы назовем эти методы crontab_file_exists () и error_message ().

Шаг 2. Конструктор!

Конструктор класса прежде всего будет ответственен за установление и подтверждение связи SSH2. Для этого нам потребуется четыре аргумента, у каждого из которых будет значение по умолчанию NULL:

Для этого мы будем использовать волшебную константу PHP __DIR__, которая позволит нам определить путь скрипта, который мы вызываем. Однако, есть случаи, где эта константа не может быть определена, поэтому нам необходимо проверить, доступно ли нам значение из константы __DIR__.

Если значение данной константы нам недоступно, тогда путь нужно получить другим способом. Для этого мы можем воспользоваться функциями strrpos () и substr (), в которые будем передавать значение волшебной константы __FILE__, которая представит нам весь путь и название текущего файла.

После мы будем использовать функцию substr () для того, чтобы вырезать нужный нам фрагмент строки, а именно полный путь.

В substr () мы передадим 3 аргумента:

После выполнения данных функций у нас будет сформирован полный путь, в котором нуждается скрипт.

Теперь мы определим строку, которая будет присваиваться по умолчанию для временного cron файла, а затем объединим с полным путём, который вычислили раньше. Вот мы и получили то, что нам нужно.

После того, как мы вычислили необходимые нам значения, приступим к работе над созданием и проверкой связи с сервером. Весь этот функционал мы поместим в блок try / catch для того, чтобы иметь возможность отлавливать возникшие ошибки. В этом случае, мы можем отловить ошибки и выбросить исключение, чтобы предоставить пользователю подробную информацию о сбое.

В пределах этого блока мы сначала проверим, чтобы нам были доступны все аргументы. Для этого будем использовать функцию is_null (), которая возвращает истину или ложь. Если какой-либо из этих аргументов будет равен NULL, то мы выбросим новое исключение с соответствующим сообщением.

Так как мы используем нашу собственную обработку ошибок, то нам также нужно предусмотреть обработку этих сообщений. Если скрипту не удастся соединиться с сервером, то мы выбросим новое исключение с соответствующим сообщением.

Теперь мы попытаемся определить подлинность пользователя, используя функцию ssh2_auth_password (), в которую передадим подключение, имя пользователя и его пароль. ssh2_auth_password () также возвращает булево значение, которое характеризует результат выполнения авторизации на сервере.

PHP попытается найти блок catch в том случае, если возникнет какая-то ошибка во время работы скрипта, а затем создать объект исключения, который содержит много полезной информации об ошибке.

Так, в блоке catch мы будем использовать метод getMessage, для того чтобы получить и показать сообщение, определенное в исключении.

Вы, наверное, уже поняли, что мы будем показывать исключения через метод error_message (), который определим чуть позже.

Шаг 3. Выполнение множественных команд

Метод, который мы сейчас напишем, будет ответственен за выполнение команд на удаленном сервере. Это сопоставимо с ручным входом на сервер через программу PuTTY. Для того чтобы сохранить гибкую функциональность, мы сделаем методы публичными, чтобы пользователи могли выполнить любые команды, которые им необходимы для работы. Также мы сделаем возможным любое число аргументов. Эти аргументы представляют собой команды, которые будут запускаться функцией ssh2_exec ().

Теперь, в пределах блока try, мы проверим, передают ли какие-либо аргументы в этот метод или нет. Если количество аргументов будет равно 0, то мы бросим новое исключение с соответствующим сообщением.

Затем, используем функцию func_get_args () для создания множества всех аргументов, которые передали в этот метод.

Если у нас действительно будут множественные команды, то мы будем использовать функцию PHP, implode(), для того чтобы разобрать множество аргументов. В функцию implode() мы передаём два аргумента: строку и разделитель. Мы отделим каждый элемент разделителем &&, который позволит нам выполнять множественные команды, последовательно, на одной линии!

И в этом случае, мы будем использовать блок try / catch для того, чтобы иметь возможность отловить любые сообщения об ошибке. Также мы будем выбрасывать наше собственное исключение с соответствующим сообщением.

Вот именно для этого мы и написали блок try / catch! Теперь дополним это код вызовом метода error_message () для отображения ошибок!

Шаг 4. Запись cronTabв файл

Следующий метод, write_to_file (), будет ответственен за запись cronTab во временный файл или создание нового файла. Для этого нам потребуется 2 аргумента:

После этого мы сольём данные в одно целое, которое будет содержать полный путь для временного cron файла.

Затем мы будем использовать команду Linux crontab, с-l набором аргумента. Затем, используя Linux оператор >, мы перенаправим стандартный вывод, или STDOUT, в наш временный cron файл! Перенаправление вывода к файлу, используя оператор>, создаст файл, если он не существует.

Всё это работает очень хорошо в том случае, если у нас уже есть настроенные cronTab задачи. Если не будет никаких cron задач, то этот файл никогда не будет создаваться! Используя оператор &&, мы можем проверить несколько команд / выражений. Если файл не существует, то запустится содержание блока if.

Наконец, мы вызовем метод exec () и передадим строку с командой.

Шаг 5. Удаляем временный файл

Шаг 6. Создание новой cron задачи

По сути, мы можем просто вывести нашу задачу в cron файл, перенаправив процесс вывода. Таким образом, используя оператор конкатенации строк, мы добавим закрывающуюся кавычку, также как и Linux оператор >>. Оператор >, в отличие от этого оператора >>, всегда переписывает файл. Оператор >> добавляет информацию в конец файла. Так при использовании этого оператора, мы не будем переписывать существующие cron задачи.

Прежде чем выполнить команду через метод exec (), сначала необходимо вызвать метод write_to_file(), чтобы создать временный cron файл. После выполнения этих двух команд, следует вызвать remove_file(), чтобы удалить временный файл.

Шаг 7. Удаление существующих cron задач

Теперь, когда мы можем создать новые cron задачи, по логике вещей, нам необходимо иметь возможность их удалить! Метод remove_cronjob () будет принимать один аргумент, представляющий из себя регулярное выражением. Этот regEx будет использоваться для того, чтобы найти соответствие задачи в пределах cronTab и удалить их.

Шаг 8. Удаление cronTab

Шаг 9. Несколько вспомогательных методов

Теперь давайте рассмотрим несколько вспомогательных методов, которые мы использовали во время написания основного скрипта.

Этот метод просто возвращает результат функции file_exists() в зависимости от того, существует ли временный cron файл.

Этот метод принимает сообщение об ошибке, которое мы хотим показать.

Шаг 10. Собираем всё в кучу

Теперь давайте посмотрим, как пользоваться созданным нами детищем:

Заключение

Вот и всё! Надеюсь, урок был для вас полезен, и вы сможете применить накопленные знания в ваших проектах. Удачи!

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/
Перевел: Станислав Протасевич
Урок создан: 25 Июня 2011
Просмотров: 64824
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Источник

Как настроить запуск php скрипта через cron (php-fpm)?

Никогда не сталкивался с cron. Помогите, пожалуйста.

Есть сервер. Там php-fpm (php 5.5).

Нужно настроить запуск php скрипта через cron:
1. Каждую минуту без отправки результата на почту
2. Каждый час с отправкой результата на почту

Путь к скрипту /server/cron/cron.php. Попробовал инструкции нагуглить, ничего не получилось. Подозреваю, что дело в пути к php (как его узнать?).

Объясните популярно, как настроить cron.

Устанавливаем php5-cli
apt-get install php5-cli

2.
для отправки на почту воспользуемся mutt (почтовый клиент)
apt-get install mutt

сохраняемся (у меня SHIFT+Z 2раза)

php пошаговое выполнение скрипта cron. Смотреть фото php пошаговое выполнение скрипта cron. Смотреть картинку php пошаговое выполнение скрипта cron. Картинка про php пошаговое выполнение скрипта cron. Фото php пошаговое выполнение скрипта cron

> /dev/null — это перенаправление стандартного вывода (stdout) в /dev/null (в никуда)
2>&1 — это перенаправление стандартного потока ошибок (stderr) в стандартный вывод, то есть в данном случае тоже в никуда.
Попробуйте немного почитать о языке оболочки (sh, bash, zsh и т. п., чтобы понять, как это работает).

Получается, что если где-то в cron.php есть строчка
echo «Hello world!»
то мир этого приветствия никогда не увидет. Если бы этих «иероглифов» не было, то после каждого выполнения скрипта приветствие улетало бы почтой куда-то.

Куда уйдёт отчёт — отдельный вопрос. По умолчанию письмо отправляется на почту тому пользователю, от имени которого запущен скрипт. В большинстве систем фактически просто дописывается файл /var/mail/username, но это зависит от продуманности админа. Чтобы точно знать, куда уйдёт письмо, первой строкой в crontab пропишите, как здесь уже советовали,
MAILTO=my@mail.com
Но гораздо гибче и предсказуемей использовать не этот механизм, а прописать отправку отчётов внутри самого скрипта.

И да, тут правильно написали. Подумайте сто раз, прежде чем добавлять в cron скрипт на исполнение раз в минуту. Зачем оно Вам? Можно ли без этого обойтись? Всё таки это весомая нагрузка на сервер. К тому же, практика показывает, что очень немногие задачи требуется выполнять с такой частотой. Может, просто Ваше решение не оптимальное?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *