Articles of redis

json.loads y redis en python 3.5

Creé un objeto JSON con json.dumps () y RPUSH (ed) en una lista redis. Al recuperar el JSON con LRANGE (redis.lrange ()) recibo una cadena binaria b'{“si”:”00:ff” … Entonces json.loads () genera un error: *** TypeError: el objeto JSON debe ser str, no ‘bytes’. ¿Cómo debo revertir a ascii?

¿Cómo verifico si el redis se está ejecutando antes de iniciar el matraz (y lo hago si no lo está)?

Soy nuevo en Flask y quiero asegurarme de que el servidor de redis se está ejecutando e iniciarlo si no lo está. Esto es lo que tengo: @app.before_first_request def initialize(): cmd = ‘src/redis-cli ping’ p = subprocess.Popen(cmd,stdout=subprocess.PIPE) out, err = p.communicate() #if out.startswith(‘Could not connect to Redis’): #start redis here if err is not None: […]

Django-RQ: ¿Cómo llamar a la función?

Estoy migrando un proyecto a Django y me gusta usar el módulo django-rq . Sin embargo, estoy atascado en lo que poner aquí: import django_rq queue = django_rq.get_queue(‘high’) queue.enqueue(func, foo, bar=baz) ¿Cómo llamar a func ? ¿Puede esto ser una cadena como path.file.function ? ¿La función necesita residir en el mismo archivo?

Progtwigción de tareas de apio con gran ETA.

Actualmente estoy experimentando con futuras tareas en apio utilizando la función ETA y un agente redis. Uno de los problemas conocidos con el uso de un agente redis tiene que ver con el tiempo de espera de visibilidad : Si una tarea no se reconoce dentro del Tiempo de espera de visibilidad, la tarea se […]

El apio intenta conectarse con el corredor equivocado

Tengo en mi configuración de apio BROKER_URL = ‘redis://127.0.0.1:6379’ CELERY_RESULT_BACKEND = ‘redis://127.0.0.1:6379’ Sin embargo, cada vez que ejecuto el apio, me sale este error consumer: Cannot connect to amqp://guest@127.0.0.1:5672//: [Errno 111] Connection refused. Trying again in 2.00 seconds… ¿Por qué no se conecta al redis broker con el que lo configuré, que se está ejecutando […]

Recuperar de la conexión perdida en redis pub / sub

Estoy ejecutando el cliente que se está conectando a un db redis. El cliente está en una conexión WiFi y, en ocasiones, se desconectará de la conexión. Desafortunadamente, cuando esto sucede, el progtwig continúa ejecutándose sin lanzar ningún tipo de advertencia. r = redis.StrictRedis(host=XX, password=YY…) ps = r.pubsub() ps.subscribe(“12345”) for items in ps.listen(): if items[‘type’] […]

¿Cómo usar sadd con múltiples elementos en Redis usando la API de Python?

Por favor considere el siguiente ejemplo >>import redis >>redis_db_url = ‘127.0.0.1’ >>r = redis.StrictRedis(host = redis_db_url,port = 6379,db = 0) >>r.sadd(‘a’,1) >>r.sadd(‘a’,2) >>r.sadd(‘a’,3) >>r.smembers(‘a’) [+] salida: set ([‘1’, ‘3’, ‘2’]) >>r.sadd(‘a’,set([3,4])) >>r.smembers(‘a’) [+] salida: set ([‘1’, ‘3’, ‘2’, ‘set ([3, 4])’]) >>r.sadd(‘a’,[3,4]) >>r.smember(‘a’) [+] set ([‘1’, ‘[3, 4]’, ‘3’, ‘2’, ‘set ([3, 4])’]) De acuerdo […]

Interacción Python Redis

Quiero escribir la aplicación en python que usa redis. Busqué en Google pero no pude encontrar ningún resultado para mi pregunta. Por lo general, hago esto: import redis rs = redis.Redis(‘localhost’) luego hacer todo lo que se pone y establece. Pero puedo en redis hacer algo como esto: rs1 = redis.Redis(‘app1’) rs2 = redis.Redis(‘app2’) Quiero […]

obtener objeto de redis sin eval?

Para obtener una clave de memcache (usando pylibmc), haga esto: client.set(key, {‘object’: ‘dictionary’}, time=expire) client.get(key) Lo mismo en redis es esto: redis.setex(key, expire, {‘object’: ‘dictionary’}) eval(redis.get(key) or ‘None’) Esa última línea no me parece correcta. Redis solo parece devolver cuerdas. ¿Hay un redis obtener para devolver el objeto en la misma forma en que se […]

¿Cómo ejecuto el estado de apio / flor sin la opción -A?

Considere esta sesión de bash: $ export DJANGO_SETTINGS_MODULE=web.settings $ celery status -b redis://redis.businessoptics.dev:6379/1 -t 10 Error: No nodes replied within time constraint. $ celery status -b redis://redis.businessoptics.dev:6379/1 -t 10 -A scaffold.tasks.celery_app celery@worker.9e2c39a1c42c: OK ¿Por qué necesito la opción -A ? Por lo que sé, el apio debería poder detectar los metadatos necesarios en redis. De […]