2013-06-10 2 views
2

Я просмотрел документацию обоим, но не уверен, что лучший выбор для данного приложения. Я посмотрел ближе на сельдерей, поэтому пример будет приведен в этих терминах.Celery vs Ipython parallel

My use case похож на этот question, при этом каждый рабочий загружает большой файл удаленно (один файл на машину), однако мне также нужны рабочие, чтобы содержать постоянные объекты. Итак, если рабочий завершает задачу и возвращает результат, то затем вызывается снова, мне нужно использовать ранее созданную переменную для новой задачи.

Повторение создания объекта при каждом вызове задачи слишком расточительно. Я не видел примера с сельдереем, чтобы привести меня к мысли, что это возможно, я надеялся использовать worker_init signal для достижения этого.

Наконец-то мне нужен центральный центр, чтобы отслеживать, что делают все работники. Это, по-видимому, подразумевает архитектуру клиент-сервер, а не ту, что предоставляется сельдереем, это правильно? Если это так, будет ли IPython Parallel хорошим выбором с учетом требований?

ответ

0

В настоящее время я также оцениваю параллельность Celery vs IPython. Что касается центрального центра, чтобы отслеживать, что делают работники, вы проверили проект Celery Flower here? Он предоставляет веб-страницу, которая позволяет просматривать состояние всех задач в очереди.

+0

Я не вдавался в детали в Flower, хотя для обновления я выбрал IPython Parallel для своего приложения. Мне нужно было создать объект на удаленной машине и многократно запускать задачу с помощью объекта. Я не нашел способ сохранить удаленный объект в Сельдерей. – phil0stine

+0

Как выясняется, стойкость объекта в сельдерей возможна и не слишком сложна. Вот [пример] (http://stackoverflow.com/questions/17035087/celery-single-task-persistent-data/19721490?noredirect=1#19721490) – phil0stine