2010-08-26 2 views
1

До сих пор нам не нужно было внедрять систему очередей в нашей инфраструктуре, но теперь нам нужны некоторые функции, которые невозможно выполнить через задания cron (слишком медленно).Queue System Farm вопросы

Наша инфраструктура LAMP (PHP) с некоторыми NoSQL.

Я посмотрел на Gearman и, похоже, идеально подходит для наших нужд. Я знаю, что Digg использует его, а также Yahoo, поэтому он должен быть надежным.

  • Есть ли какие-либо инструменты управления, которые автоматически запустит рабочего при его смерти или когда будут созданы новые задачи?

  • Как вы обрабатывать несколько проектов в рамках одной той же инфраструктуры (проект А имеет 5 задач, проект B имеет 10, проект C имеет 1)

  • Есть ли способ сделать периодические задачи легко?

Я видел сельдерей, и это выглядит хорошо, но кажется, что это только для AMQP (Или для RabbbitMQ только), но это в Python, и я не нашел много информации о можно ли использовать не- задачи python.

Спасибо

ответ

-1

сельдерея поддерживает задачи webhook, что позволяет ему звонить на другие языки с помощью HTTP:

http://celeryq.org/docs/userguide/remote-tasks.html

Сельдерей также поддерживает Redis, MongoDB, MySQL/PostgreSQL/Oracle и beanstalkd : http://celeryq.org/docs/tutorials/otherqueues.html

RabbitMQ - самый надежный выбор.

+0

Да, но идея системы очереди заключается в масштабировании, если вы используете для нее HTTP, то я просто не мог бы использовать систему очередей и запускать ее как «веб-скрипты». Мой выбор для Gearman вместо RabbitMQ - это потому, что я знаю, что reddit.com побежал на кролик с большим количеством проблем, а Yahoo запускает Gearman, делающий 6M сообщений в день –

+0

Вы не понимаете. Он по-прежнему является «системой очередей», он просто использует HTTP-обратные вызовы вместо собственных функций. Предположим, что вы хотите импортировать некоторые контакты, затем вы открываете URL-адрес «http: // mysite/user/contacts/import», а система очередей вызывает этот URL-адрес позже. 6 миллионов сообщений/день не так много. – asksol