Найти - Пользователи
Полная версия: распределенные вокеры Что посоветуете?
Начало » Python для новичков » распределенные вокеры Что посоветуете?
1
doza_and
Нужна распределенная система вычислений. На нее сыпятся пакеты она их обрабатывает и кладет в БД.
Пакетов не много - ну раз в секунду максимум (но приход асинхронный, случайный c пуассоновским распределением - нужна очередь заданий). Пакеты небольшие 10к, но обработчик тяжелый может и 3- 5 сек работать. Крайне желательна возможность масштабирования до 10 раз.

Как посоветуете организовать очередь заданий?

Инет выдает:
http://celeryproject.org/
http://packages.python.org/Pyro4/intro.html
Андрей Светлов
ZeroMQ Push-Pull
ziro
+1 celery - очень достойная вещь, легко использовать, плюс там поддерживаемых очередей навалом.

Если нужна масштабируемость на кластер - посмотрите на http://discoproject.org/ - сам не использовал, но в свое время смотрел с целью возможного применения.
doza_and
:) celery на вид очень хороший но под виндами сразу падает
python -m celery.bin.celeryd
Traceback (most recent call last):
File "C:\comp\Python26\lib\runpy.py", line 122, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\comp\Python26\lib\runpy.py", line 34, in _run_code
exec code in run_globals
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\bin\celeryd.py", line 208, in <module>
main()
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\bin\celeryd.py", line 187, in main
worker.execute_from_commandline()
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\bin\base.py", line 72, in execute_from_commandline
return self.handle_argv(prog_name, argv[1:])
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\bin\base.py", line 100, in handle_argv
return self.run(*args, **vars(options))
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\bin\celeryd.py", line 95, in run
kwargs.get("pool") or self.app.conf.CELERYD_POOL)
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\concurrency\__init__.py", line 13, in get_implementation
return get_cls_by_name(cls, ALIASES)
File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\utils\__init__.py", line 313, in get_cls_by_name
module = imp(module_name)
File "build\bdist.win32\egg\importlib\__init__.py", line 37, in import_module

File "C:\comp\Python26\lib\site-packages\celery-2.3.3-py2.6.egg\celery\concurrency\processes\__init__.py", line 9, in <module>
from os import kill as _kill
ImportError: cannot import name kill
o7412369815963
Андрей Светлов
ZeroMQ Push-Pull
Тоже бы zmq выбрал, т.к. более ничего и не надо.
doza_and
Большое спасибо за советы. Буду читать
http://www.zeromq.org/
http://zeromq.github.com/pyzmq/morethanbindings.html
o7412369815963
doza_and
Большое спасибо за советы. Буду читать
http://www.zeromq.org/
http://zeromq.github.com/pyzmq/morethanbindings.html
Систему можно сделать асинхронной - один поток с неблокирующими методами…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB