Реклама на сайте Advertise with us

Как лучше организовать запуск PHP скриптов.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 01/12/15 в 15:11       Ответить с цитатойцитата 

Есть несколько задач:
1. Ежесуточное формирование файла статистики.
2. Создание и добавление новости из файла дампа каждый час.
3. Каждые пять минут отслеживать некие изменения.
И тут задался вопросом, дергать каждую из этих функций отдельным кроном либо дергать кроном каждые 5 минут, а в зависимости от меток в отдельных файлах, запускать все остальное.

Т.е. к примеру в сутках 1440 минут или 288 раз по 5 минут и 12 раз в часе.
Соответственно в каждом файле после запуска уменьшать значение на единицу и когда = 0 тогда записывать в файл максимальное значение и запускать скрипт.

Подскажите, как лучше.

И если кол-во задач увеличиться до 10.

Спасибо!

2
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 01/12/15 в 16:47       Ответить с цитатойцитата 

использовать очереди собщений. RabbitMQ и совместно Celery, ну это продвинутый вариант.
Вариант попроще - Gearman

10
 



С нами с 16.10.02
Сообщения: 1261
Рейтинг: 937


Передовик Master-X (16.03.2023) Передовик Master-X (01.04.2023) Передовик Master-X (01.08.2023) Передовик Master-X (16.08.2023) Передовик Master-X (01.10.2023) Ветеран трепа Master-X (16.10.2023)
Ссылка на сообщениеДобавлено: 01/12/15 в 17:10       Ответить с цитатойцитата 

А если по старинке запускать кроном каждые 5 минут. Делать что надо. И в самом скрипте проверять, если минуты=0 - делать ежечасную работу, если часы=0 и минуты=0 - ежесуточную.

8
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 01/12/15 в 18:13       Ответить с цитатойцитата 

у вас же три задачи с разными промежутками времени
каждый день
каждый час
каждые пять минут

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

10
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 01/12/15 в 18:53       Ответить с цитатойцитата 

Поставить в крон задания и не ломать себе голову. Чем проще, тем надежнее.
По заданию в файл делай.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

9
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 01/12/15 в 23:22       Ответить с цитатойцитата 

Ailk писал:
использовать очереди собщений. RabbitMQ и совместно Celery, ну это продвинутый вариант.
Вариант попроще - Gearman

Ставить под такую задачу RabbitMQ с Celery - это извращение покруче стрельбы из пушки по воробьям.
+1 за повесить задания на крон.

Lexikon писал:
Т.е. к примеру в сутках 1440 минут или 288 раз по 5 минут и 12 раз в часе.
Соответственно в каждом файле после запуска уменьшать значение на единицу и когда = 0 тогда записывать в файл максимальное значение и запускать скрипт.

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

8
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 02/12/15 в 11:45       Ответить с цитатойцитата 

Mika писал:
Ставить под такую задачу RabbitMQ с Celery - это извращение покруче стрельбы из пушки по воробьям.
+1 за повесить задания на крон.
Да ладно. Десяток кронов на сайт не изврат? А если сайтов не 1?

8
 



С нами с 23.03.03
Сообщения: 390
Рейтинг: 254

Ссылка на сообщениеДобавлено: 02/12/15 в 12:48       Ответить с цитатойцитата 

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

речи по топ1млн алексы или какой хайлоад не было. кролик прям совсем перебор

nferno Solutions: Выделенные серверы и VDS по самым низким ценам (от 20$)

8
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 02/12/15 в 13:37       Ответить с цитатойцитата 

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

8
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/12/15 в 14:03       Ответить с цитатойцитата 

celery стоит использовать если тебе в проекте нужно создавать очереди задач или подобное. Но использовать как крон -это действительно как по воробьям из пушки.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

7
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 02/12/15 в 15:03       Ответить с цитатойцитата 

но он сам себя позиционирует как "умная замена крону".

8
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/12/15 в 15:48       Ответить с цитатойцитата 

так я и не спорю, что экскаватор эффективнее лопаты. Но если надо ямки под саженцы рыть - то все таки лучше по старинке лопатой trollface.png

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

9
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 02/12/15 в 19:15       Ответить с цитатойцитата 

smail101.gif

8
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 02/12/15 в 22:45       Ответить с цитатойцитата 

Ailk писал:
Да ладно. Десяток кронов на сайт не изврат? А если сайтов не 1?

А celery y у тебя наверное волшебным образом мысли читает и делает все, о чем подумаешь? icon_smile.gif

Ailk писал:
но он сам себя позиционирует как "умная замена крону".

Где? Смотрим http://www.celeryproject.org/
Цитата:
Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

Т.е. если в проекте используется celery, то можно его и в качестве планировщика заданий использовать, но чисто в качестве замены крону - это изврат.

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 03/12/15 в 01:05       Ответить с цитатойцитата 

Как только я начинаю считать себя охирительным программистом, вы начинаете говорить на непонятном мне языке и тут я понимаю, что нужно еще чуток подучиться smail101.gif icon_razz.gif
Решил дергать всё кроном и не ипать себе мозг icon_smile.gif
Всем спасибо!

2
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 03/12/15 в 10:57       Ответить с цитатойцитата 

Mika писал:
Т.е. если в проекте используется celery, то можно его и в качестве планировщика заданий использовать, но чисто в качестве замены крону - это изврат.
Ващета крон и есть планировщик заданий trollface.png

2
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 04/12/15 в 00:39       Ответить с цитатойцитата 

И где я утверждал обратное?

0
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 04/12/15 в 13:34       Ответить с цитатойцитата 

а в чем смысл предложения тогда был? Можно использовать в качестве планировщика задач, но чисто в качестве замены планировщику задач - изврат icon_confused.gif

На любом сайте сложнее визитки можно найти применение очередей: массовая обработка контента(ресайз фоток, конверт видео, синонимайз и проч.), автопостинг, обработка и формирование статистики, учет(лайки, клики, просмотры), парсинг, мониторинг и т.д.
Конечно можно все это засунуть в 10 кронов. А можно красиво оформить в качестве отдельных воркеров и потом не плеваться от собственного говнокода.

0
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 04/12/15 в 13:53       Ответить с цитатойцитата 

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

можно но не нужно.

часть из этих задач я делаю через крон, без всяких celery, rabbitmq и прочего.
просто обработка разбивается на файлы - в каждом файле содержится пачка заданий например. по крону каждую минуту запускается обработчик который обрабатывает (с блокировкой от повторного запуска).
работает даже на виртуалхостингах.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »