Архитектурные запросы Gearman - PullRequest
3 голосов
/ 19 декабря 2009

Я новичок в Gearman. У меня есть следующие вопросы об оптимизированном использовании Gearman:

1) Я думаю, что работник ожидает работу в качестве "строки". Могу ли я отправить массив или хэш как задание рабочему? Если нет, то является ли JSON лучшим форматом задания для отправки массива / хэша?

2) Могу ли я прикрепить маршруты приложений rails как рабочий для Job Server?

3) Как проверить, работает ли работник или нет? Существует ли какой-либо инструмент администрирования для статистики Job Server и Worker?

4) Можно ли спроектировать систему ROR, чтобы каждый запрос проходил через сервер заданий Gearman? У меня есть несколько приложений, использующих одну базу данных (некоторые из них - приложение для iPhone, приложение для Android, веб-сайт). Моя главная цель - получить доступ к контенту, используя общий API для всех этих приложений. Или Gearman больше подходит для фоновых процессов?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 18 декабря 2010

Могу ли я отправить массив или хэш в качестве задания для работника? Если нет, то является ли JSON лучшим форматом задания для отправки массива / хэша?

Подойдет любой тип строки; тем не менее, JSON великолепен, так как его можно легко декодировать и использовать для гидратации модели / объекта.

Могу ли я прикрепить маршруты приложений rails как рабочий для Job Server?

Я обычно предпочитаю писать автономные приложения / скрипты в качестве рабочих. Руби отлично подойдет для этого. Вы можете даже написать их как сценарии Тора.

Существует ли какой-либо инструмент администрирования для статистики сервера заданий и рабочего места?

Если вам комфортно с оболочкой, это может работать для вас: Есть ли способ получить доступ к администрации Gearman?

Или Gearman больше подходит для фоновых процессов?

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

1 голос
/ 19 декабря 2009

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

Когда вы хотите передать объекты другим методам, вам нужно так или иначе сериализовать их (это почти всегда делается при передаче объекта другому процессу). «Лучший» способ сделать это очень сильно зависит от того, что вы хотите отправить. JSON - это один из способов, и, вероятно, один из самых маленьких, когда речь идет о размере передачи. Так что да, вы можете использовать JSON для передачи хешей и массивов.

0 голосов
/ 22 декабря 2009

http://rack.rubyforge.org/

Вы можете посмотреть на стойку. Это может привести вас туда, куда вы хотите пойти ..

...