Какая библиотека/структура модели Actor для python и Erlang-like?
Я ищу легко обучаемую библиотеку Actor или фреймворк для Python 2.x. Я пробовал Candygram и Twisted, но я их не любил. Я хотел бы что-то, что будет легко распространяться на suppero Greenlet (= безплатный питон).
- Candygram слишком стар.
- Скрученный слишком сложный.
- Gevent: неясно, поддерживает ли он модель Actors.
Что вы предлагаете?
Ответы
Ответ 1
Чтобы сделать актеров с gevent, используйте Greenlet подклассом gevent.queue.Queue экземпляр, используемый как почтовый ящик. Чтобы прочитать сообщение из папки "Входящие", просто get() из очереди. Чтобы отправить сообщение актеру, put в эту очередь участника.
Читайте о подклассе Greenlet здесь.
Если вам нужна помощь в написании класса Actor, не стесняйтесь запросить список рассылки.
Ответ 2
Отъезд pulsar, это параллельная структура для python, которая использует модель актера как источник параллельного выполнения.
Ответ 3
PARLEY и Pykka указаны на этой странице модели актера Wikipedia, чтобы вы могли заглянуть в один из них.
Pykka, по-видимому, активно развивается (1.0.1 выпущен в декабре 2012 года), в то время как PARLEY не выпускался с 2007 года (и по-прежнему его называют бета-версией). Пыкка утверждает, что не имеет права Akka только в имени, это не просто порт python.
Ответ 4
Я знаю, что этот вопрос немного устарел, но вот еще один ресурс для python:
https://github.com/godaddy/Thespian
Документацию можно найти здесь:
http://godaddy.github.io/Thespian/doc/
ИЗМЕНИТЬ
Основной автор этой библиотеки с тех пор покинул GoDaddy и разветкил репо:
https://github.com/kquick/Thespian
Новые документы можно найти здесь:
http://thespianpy.com/doc/
Ответ 5
Я бы посмотрел на это: https://bitbucket.org/fzzzy/python-actors
Это довольно простой клон модели актера Erlang, с "сохраненными" очередями сообщений, ссылками и всем.
Ответ 6
Этот tutorial содержит простой и рабочий пример для участников с gevent. В основном это точно так же, как Денис уже описал.