Няма описание

cmd_bak2.py 1.4KB

    # -*- coding: utf-8 -*- import logging from collections import deque from django.db import transaction from django_six import CompatibilityBaseCommand, close_old_connections from utils.redis.connect import r logger = logging.getLogger('console') class Command(CompatibilityBaseCommand): def handle(self, *args, **options): logger.info('Hanyuan bak cmd is dealing') keys = deque(['HANYUAN_CMD_KEY1', 'HANYUAN_CMD_KEY2']) while True: # r.rpush('HANYUAN_CMD_KEY', '') # kv = r.blpop('HANYUAN_CMD_KEY', 60) # k, v = (kv[0], kv[1]) if kv else (None, None) # # r.rpushjson('HANYUAN_CMD_KEY', {}) # # Refer: https://redis.io/commands/blpop # Keys are checked in the order that they are given. # If not rotate keys. # Some keys may not be checked at all times. k, v = r.blpopjson(keys, 60) keys.rotate(1) if not v: continue logger.info(v) close_old_connections() if k == 'HANYUAN_CMD_KEY1': with transaction.atomic(): pass elif k == 'HANYUAN_CMD_KEY2': with transaction.atomic(): pass else: continue close_old_connections()