Redis
 sql >> база данни >  >> NoSQL >> Redis

Използването на многопроцесорния пул от задачата celery поражда изключение

Това е известен проблем с целината. Това произтича от проблем, въведен в зависимостта от билярд. Заобиколно решение е да зададете ръчно _config атрибут за текущия процес. Благодаря на потребителя @martinth за решението по-долу.

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 ще изпълни кода при инициализиране на работния процес. Просто проверяваме дали _config съществува и го задайте, ако не съществува.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis сериализация с префикс с допълнителен низ

  2. Redis Update Sorted Set on Key Expire

  3. Redis - наблюдение на използването на паметта

  4. Redis с Resque и Rails:командата ERR не е разрешена, когато се използва памет> 'maxmemory'

  5. Броят на изтичащите ключове, изброени от командата info на подчинен редис, не съответства на това, което виждам