Perché questo non stampa 'ciao'?Come eseguire l'output su console dallo script Redis Lua?
$ redis-cli
127.0.0.1:6379> eval "print('hello')" 0
(nil)
127.0.0.1:6379>
esecuzione 2.8.14 su Mac OS X, 2.8.12 su Windows 7.
sto chiamando script Lua da Jedi. Sviluppare questi è come costruire una nave una bottiglia, indossare guanti, mentre qualcuno mi dà un pugno in faccia. Il mio obiettivo finale è in qualche modo ricreare uno stack di sviluppo semi-funzionale tramite istruzioni trace print, debug, qualsiasi cosa.
La mia soluzione è per il mio script Lua è utilizzare un elenco Redis chiamato "registro", restituirlo a Jedis e quindi scaricare il contenuto. Un po 'come questo:
redis.call('del', 'log')
redis.call('rpush', 'log', 'trace statement 1')
redis.call('rpush', 'log', 'trace statement 2')
...
redis.call('lrange', 'log', 0, -1)
Grazie in anticipo per eventuali suggerimenti, aiuto, ecc
Aggiornamento: Appena notato l'uscita 'ciao' fa tramite la finestra del terminale per l'eseguibile Redis-server. Intelligente. Così ora ho un terminale ciascuno per redis-server, redis-cli interattivo e monitor redis-cli.
Aggiornamento 2: appena capito che posso genere di stampare istruzioni trace al monitor Redis-cli come questo:
eval "redis.call('echo', 'ugh')" 0
che appare un po 'come questo:
123.456 [0 127.0.0.1:57709] "eval" "redis.call('echo', 'ugh')" "0"
123.456 [0 lua] "echo" "ugh"
ho recentemente pubblicato questa collezione di metodi che sono tutti finalizzati ad aiutare a rintracciare e debugging Lua in Redis - spero che aiuti :) https://redislabs.com/blog/5-methods-for-tracing-and-debugging-redis-lua-scripts –
Come il commento dell'elettore in basso - yah troll ha battuto il newbie. .. geeze – chrislovecnm