Выполнение повторяющихся процессов обслуживания на LAMP - PullRequest
1 голос
/ 09 июля 2010

Я занимаюсь разработкой сайта аукциона, который требует, чтобы сценарии обслуживания запускались в фоновом режиме, чтобы обеспечить бесперебойную работу.Такие вещи, как окончание аукционов, запуск аукционов и т. Д. *

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

Существует ли стандарт для такого рода действий?вещь?Мое исследование до сих пор раскрыло эти возможности:

PHP и CRON, слишком медленно, нет доказательств того, что кто-то еще использовал этот метод?

Хранимые процедуры MYSQL: не хотите иметь дело с языком MYSQL

Сценарий BASH ???

Сценарий C *

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

Скорость (и эффективность) очень важны.

Спасибо!

Ответы [ 3 ]

1 голос
/ 09 июля 2010

У меня есть сайт, который выполняет довольно интенсивное обслуживание с использованием PHP + Cron. Я бы порекомендовал, так как вы можете повторно использовать библиотеки из основного приложения. Каким образом php работает слишком медленно?

Если вы не делаете сом серьезное число хруста в приложении, большая часть нагрузки лежит на базе данных. В этом случае только Bash / cscript будет иметь худшую производительность, чем php.

1 голос
/ 09 июля 2010

Я разработал и управляю массивной системой баз данных с более чем 700 базами данных [не спрашивайте ...], которые нуждаются в большом количестве обновлений, сводок, синхронизации структур и т. Д.

Все это делается с помощью скриптов Bash и PHP, которые регулярно выполняются через cron.Иногда каждые 10 минут, иногда ежечасно, иногда ежедневно, иногда ежемесячно - у меня никогда не возникало проблем с быстродействием / производительностью, пока вы кодируете скрипты и операторы SQL, чтобы они работали эффективно!

Одна из самых важных вещей - это настроить индексы MySQL, чтобы гарантировать, что ваши регулярные запланированные задания выполняются быстро, сводя к минимуму регулярные обращения к ЦП, возникающие при запуске cron.

1 голос
/ 09 июля 2010

Это может быть больше http://serverfault.com вопрос.

Если вам нужно что-то нестандартное, потому что вышеперечисленное не подойдет вам, выберите что-то, что использует технологии, которые у вас уже есть, и тому подобноенаписано, например, perl, python, C, php, что угодно (чтобы вам не приходилось переносить работу, которую вы уже сделали, если вам нужно расширить ее позже, чтобы получить доступ к вещам, прежде чем принимать временные решения), и написатьспециальная программа, которая сделает это за вас.Затем попросите cron убедиться, что он всегда включен, и он может выполнять более трудоемкие задачи, а не cron.

...