Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
1

Запуск скриптов php по расписанию и по событию

12.05.2016, 18:11. Показов 4012. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем наверное не в ту ветку форума пишу, но все таки возможно кто то сталкивался:

Есть два файла php:
1. Парсит таблицу
2. Используя PHPMailer делаю рассылку

Вопрос в следующем, можно ли в cron сделать запуск второго скрипта сразу после 1 (т.е. по событию) или придется делать временный интервал или вообще лучше сделать все в один файл php?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2016, 18:11
Ответы с готовыми решениями:

Запуск php-скрипта перлом по расписанию
Помогите пожалуйста. Вопрос такой: можно ли перлом запускать php -скрипт по рассписанию?

Cron - запуск php скрипта по расписанию
Доброго времени суток. Сабж: есть хостинг, на хостинг я закинул свой сайт, так же я закинул некий...

Запуск php-скрипта по расписанию не кроном
есть нет еще какая возможность запустить скрипт по расписанию??? просто у меня нету на хостинге...

Цикличный запуск php скриптов
Всем привет! Есть такая проблема, не могу разобраться: $(document).ready(function(){...

6
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
12.05.2016, 19:16 2
Я бы создал третий файл, который бы последовательно запускал нужные скрипты и уже его вешал на крон.
0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
12.05.2016, 19:22  [ТС] 3
Еще один момент, я правильно понимаю что запущенный кроном скрипт будет выполнятся до победного или есть какой то таймаут?
0
В экстазе
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
15.05.2016, 12:42 4
Лучший ответ Сообщение было отмечено Alex_45 как решение

Решение

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

Запуск одной программ (скрипта, приложения, чего-то ещё), с последовательным запуском другой, в *nix'ах выглядит например так:
Bash
1
myscript1.php && myscript2.php
Если Вы пытаетесь запустить скрипт через wget, то текущие таймауты можно посмотреть/настроить в файле php.ini.

С выполнением скриптов из командной строки я думаю, Вы знакомы? Если нет, возможно вот эти строчки или поиск по ним будут полезны:
Bash
1
2
#!/usr/bin/php
#!/usr/bin/env php
1
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
15.05.2016, 12:48  [ТС] 5
wolfalone, Да, спасибо уже реализовал через один скрипт, только с лимитом по выборке из БД (если выборка пуста то die() и выход из скрипта)
И повесил на крон задание запускать каждые 10 минут в течении пары часов думаю этого вполне хватит для меня, даже с учетом значительного роста базы...

Цитата Сообщение от wolfalone Посмотреть сообщение
myscript1.php && myscript2.php
Ну и раз Вы написали, можете прокомментировать: В данном случае выполнится сначала myscript1.php и уже после завершения выполниться myscript2.php - я правильно понял?
0
В экстазе
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
15.05.2016, 12:54 6
Цитата Сообщение от Alex_45 Посмотреть сообщение
В данном случае выполнится сначала myscript1.php и уже после завершения выполниться myscript2.php - я правильно понял?
В Linux/Windows/BSD (возможно и в других ОС тоже, но я за них не в курсе), у любой программы, в т.ч. скрипта есть такая штука, как "код завершения" или "статус выхода", если он не равен нулю, значит, программа выполнилась (завершилась) с ошибкой.

В примере выше, программа 2 запустится, если программа 1 выполнилась без ошибок (код выхода == 0). Если у Вас скрипт не вызывал ошибок по время выполнения, то код выхода будет равен нулю по умолчанию (если вы принудительно не возвращаете другой код). Если нужно выполнять программы (скрипты, команды) просто последовательно, игнорируя результат предыдущей, это будет выглядеть так:
Bash
1
myscript1.php; myscript2.php; myscript101.php;
1
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 22
15.05.2016, 12:57  [ТС] 7
Спасибо, за исчерпывающий ответ.
0
15.05.2016, 12:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2016, 12:57
Помогаю со студенческими работами здесь

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

Запуск сначала одного видео, потом по событию - запуск второго видео
У меня при заходе на сайт, весь сайт немного затемняется и делается не активным (ни ссылку ни...

Запуск скрипта по расписанию
Добрый день! Как в Ubuntu Server 12.04 сделать запуск скрипта по расписанию? Вернее даже так:...

Запуск скрипта по расписанию
Люди есть вопрос. Кто может сделать скрипт или что-то в этом роде... Короче мне надо, чтобы на...

Запуск программ по расписанию
Добрый всем день! Не ругайте если не смог найти аналогичное решение на форуме , но я его не нашел....

Запуск метода по расписанию
Добрый день. К примеру обычное приложение на WinForms, в нем есть метод HelloWorld public void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru