Доля областей памяти между работниками сельдерея на одной машине

Я хочу поделиться небольшими фрагментами информации между моими рабочими узлами (например, кэшированные токены авторизации, статистика и т. Д.) В сельдерее.

Если я создаю глобальный внутри моего файла задач, он уникален для каждого рабочего (мои работники являются процессами и имеют срок службы 1 задачи / выполнения).

Какова наилучшая практика? Должен ли я сохранять состояние извне (БД), создавать старомодную общую память (может быть сложно из-за различных реализаций пула в сельдере)?

Заранее спасибо!

One Solution collect form web for “Доля областей памяти между работниками сельдерея на одной машине”

Наконец, я нашел достойное решение – core python multiprocessing-Manager:

from multiprocessing import Manager manag = Manager() serviceLock = manag.Lock() serviceStatusDict = manag.dict() 

Этот dict может быть доступен из каждого процесса, он синхронизирован, но вы должны использовать блокировку при обращении к ней одновременно (например, в любой другой реализации общей памяти).

  • Системная память V в Python?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.