yml workers retries rails queues priority exhausted create ruby-on-rails redis

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.