2017-05-09 9 views
2

경쟁 조건이 Celery입니다. 이것에 영감을 얻어 - http://ask.github.io/celery/cookbook/tasks.html#ensuring-a-task-is-only-executed-one-at-a-time 나는 내 작업에 잠금을 추가하기 위해 memcache를 사용하기로 결정했습니다.memcache가 작동하지 않습니다.

다음은 내가 만든 변경되어이 후

python-memcached 

# settings for memcache 
CACHES = { 
    'default': { 
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 
    'LOCATION': '127.0.0.1:11211', 
    } 
} 

, 나는 내 껍질에 로그인 한 다음

>>> import os 
>>> import django 
>>> from django.core.cache import cache 
>>> os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings.base') 
>>> cache 
<django.core.cache.DefaultCacheProxy object at 0x101e4c860> 
>>> cache.set('my_key', 'hello, world!', 30) #display nothing. No T/F 
>>> cache.get('my_key') #Display nothing. 
>>> from django.core.cache import caches 
>>> caches['default'] 
<django.core.cache.backends.memcached.MemcachedCache object at 0x1048a5208> 
>>> caches['default'].set('my_key', 'hello, world!', 30) #display nothing. No T/F 
>>> caches['default'].get('my_key') #Display nothing. 

pip install python-memcached

Python 3.6을 사용했다 할 Django==1.10.5

내가 뭘하고 있니? 잘못된? 어떤 도움을 주시면 감사하겠습니다.

답변

2

어떤 이유로 memcached가 죽었고 여전히 실행 중이라고 가정했습니다. 내 잘못이야. 이제 완벽하게 작동합니다.

비슷한 문제가있는 사람은 memcached를 실행하고 있는지 확인하고 싶습니다. - memcached -vv

참고 용으로 여기에 보관하십시오.