Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Używanie puli wieloprocesowej z zadania seler powoduje wyjątek

Jest to znany problem z selerem. Wynika to z kwestii wprowadzonej w zależności bilardowej. Rozwiązaniem jest ręczne ustawienie _config atrybut dla bieżącego procesu. Podziękowania dla użytkownika @martinth za obejście poniżej.

from celery.signals import worker_process_init
from multiprocessing import current_process

@worker_process_init.connect
def fix_multiprocessing(**kwargs):
    try:
        current_process()._config
    except AttributeError:
        current_process()._config = {'semprefix': '/mp'}

worker_process_init hook wykona kod po zainicjowaniu procesu roboczego. Po prostu sprawdzamy, czy _config istnieje i ustaw go, jeśli nie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Opróżnić/usunąć zestaw w Redis?

  2. Przekroczono limit połączenia/rozmiaru bufora Redis

  3. Jak uruchomić analizę pamięci na AWS ElastiCache?

  4. Czy istnieje sposób na zlokalizowanie określonego klucza w określonej instancji Redis w trybie klastra?

  5. Łączenie ze zdalnym serwerem redis