Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Redis is Magic , enfin presque

+3 votes

intro

dans une vue j'ai 2 fonctions :

def env_deploy(request):
    r = redis.StrictRedis()
    r.publish('log_deploy', "foo\nbar")
    return render(request, 'empty.html')

def log_deploy(request):        
    r = redis.StrictRedis()
    listener = r.pubsub()
    listener.subscribe('log_deploy')
    data = listener.get_message()['data']
    return render(request, 'log_deploy.html', {'data': data})

La première est déclenchée par un appel ajax quand on clickotte sur un bouboutonton
La seconde est appelée toutes les 10 sec dans la même page html

Problème
Le soucis est que la seconde ne trouve jamais rien lors du get_message

alors que le même code (module le return de chacune) fonctionne à merveille dans le shell

1° console

>>> r.publish('log_deploy', 'foo\nbar')
62L

2° console

>>> data = listener.get_message()['data']
>>> print(data)
foo
bar

Y aurait-il une subtilité qui m'aurait échappé dans une vue django ?

demandé 15-Sep-2015 par foxmask (2,862 points)

1 Réponse

+2 votes
 
Meilleure réponse

c'est mieux avec les infos de la base

r = redis.StrictRedis(host=host, port=port, db=db)

et tout rentre dans l'ordre

chez moi je recupere le settings django que je split et le tour est joué

répondu 15-Sep-2015 par foxmask (2,862 points)
...