ruby-on-rails - workers - sidekiq yml priority
Redis busca la variable de redis de env redis no está seguro de dónde poner el URI de variable de env(¿no es URI?):(URI:: InvalidURIError) (1)
Soy bastante nuevo en Redis. Esta aplicación de rieles tiene un archivo redis.rb en config / initializers
uri = URI.parse(ENV["REDIS_URL"])
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
La url de redis está en configuración heroku.
No puedo simplemente reemplazar REDIS_URL
con REDIS_URL
de heroku config.
Estoy recibiendo un error de análisis URI
bad URI(is not URI?): (URI::InvalidURIError)
¿Mi pregunta es dónde debo colocar la URL de Redis? ¿De dónde está buscando la variable env?
Supongo que obtendrás esto cuando hagas rake. El problema es que cuando rake-ing, las variables de entorno no están establecidas, lo que lleva a este error (información en https://devcenter.heroku.com/articles/rails-asset-pipeline ). Para superarlo, utilice un intializador condicional en su lugar, por ejemplo:
if ENV["REDISCLOUD_URL"]
uri = URI.parse(ENV["REDISCLOUD_URL"])
$redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
end
PD alternativamente, usa esto pero ten en cuenta que de acuerdo con Heroku:
El uso de esta función de los laboratorios se considera contrario a las mejores prácticas de Heroku. Esta característica de los laboratorios puede hacer que sus compilaciones sean menos deterministas y requiera reimplementarse después de realizar cambios en la configuración. Idealmente, tu aplicación debería poder compilar sin configuración.