LINUX.ORG.RU

Celery можно ли вынести выполнение ресурсоемких задач на другую машину без копирования исходного кода?


0

1

Добрый день!

Хочу спросить про Celery. У меня есть проект, и в нем 3 задачи которые я запускаю по крону (management commands). Эти задачи очень ресурсоемкие и сильно грузят сервер на котором крутится web приложение.

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

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

Можно ли такое сделать с помощью Celery? Т.е. чтобы проект был в одном экземпляре, а мои задачи выполнялись на другом сервере? Или все равно прийдется копировать все файлы туда где будет выполняться?

Спасибо.


>то нужно будет заливать на сервер с web и потом копировать на сервер который выделен под ресурсоемкие задачи... Неохота..

Что сложного сделать на сервере (svn up/hg pull/git pull/whatever)?
Если уж совсем лень то может скрипт на fabric написать?

pi11 ★★★★★
()

Я правильно понял, ты хочешь, чтобы Celery передавал вместе с задачей исходный код этой задачи, анализировал бы зависимости и также передавал бы исходники кучи библиотек и самописных модулей???

Можно настроить для проекта virtualenv и подключить корень проекта и корень virtualenv по nfs, но тут нужна надежная сеть. Других вариантов без копирования кода не вижу.

А вообще +1 к svn, git, hg, bzr, ...

anti_social
()

Ты подумал над тем что если у тебя настолько ресурсоемкая задача то и диск она будет неплохо дергать? То есть если ты будешь исполнять ее на другом компутере, с доступом к данным по сети, то она и тот компутер который отдает, и сеть, нагрузит неплохо?

kernel ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.