Redis
 sql >> Database >  >> NoSQL >> Redis

Redis cerca env redis url variabile non sono sicuro di dove mettere env variabile bad URI (non è URI?):(URI::InvalidURIError)

Immagino che tu lo capisca quando fai il rake. Il problema è che durante il rake-ing, le variabili di ambiente non sono impostate, il che porta a questo errore (informazioni su https://devcenter.heroku.com/articles/rails-asset-pipeline). Per superare, usa invece un inizializzatore condizionale, ad esempio:

if ENV["REDISCLOUD_URL"]
    uri = URI.parse(ENV["REDISCLOUD_URL"])
    $redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
end

PS in alternativa, usa questo ma tieni presente che secondo Heroku:

L'uso di questa funzione di lab è considerato contrario alle migliori pratiche di Heroku. Questa funzione di lab può rendere le build meno deterministiche e richiedere la ridistribuzione dopo aver apportato modifiche alla configurazione. Idealmente, la tua app dovrebbe essere in grado di essere compilata senza configurazione.