Udało mi się skonfigurować moich pracowników i wykonywali je bez problemu (w fazie rozwoju), ale teraz nie są ani w produkcji, ani w rozwoju (zgaduję, po zmianie z SQlite3 na PostgreSQL).Pracownik Resque zawodzący z serwerem PostgreSQL
Kiedy uruchomić polecenie natarcia Aby uruchomić pracownikom rake resque:work QUEUE=*
otrzymuję następujący komunikat o błędzie i ślad stosu:
getaddrinfo: nodename nor servname provided, or not known
otrzymuję następujące błędy podczas uruchamiania heroku rake resque:work QUEUE=*
w konsoli do testowania pracowników oczekujących w kolejce .
Class SentimentJob
Arguments [4, 5, 6]
Exception ActiveRecord::StatementInvalid
Error PGError: server closed the connection unexpectedly This probably means
the server terminated abnormally before or while processing the request.
: SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc,
a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid =
d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"taggings"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
A dla mojego pracownika Facebooku:
Class FBConnectionsJob
Arguments 1
Exception OpenSSL::SSL::SSLError
Error SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed
Class FBConnectionsJob
Arguments 1
Exception ActiveRecord::StatementInvalid
Error PGError: server closed the connection unexpectedly This probably means
the server terminated abnormally before or while processing the request.
: SELECT tablename FROM pg_tables WHERE schemaname = ANY
(current_schemas(false))
Dlaczego otrzymuję różne błędy w różnych środowiskach? Moje pliki inicjalizatora wyglądają następująco:
Czy powinienem tu dodać specyfikacje ENV?
Resque.rb
uri = URI.parse(ENV["REDISTOGO_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Dir["#{Rails.root}/app/jobs/*.rb"].each { |file| require file }
Redis.rb
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis = REDIS
Moja środowisk/production.rb plik ma żadnego odniesienia do Redis i mojego Środowiska/rozwoju. rb plik ma to dla ustawienia Redis:
ENV["REDISTOGO_URL"] = 'redis://username:[email protected]:6789'
Dla mnie wygląda na to, że problem przypomina połączenie z bazą danych, a nie Redis. Czy korzystasz z niestandardowej konfiguracji? –
Poszedłem do książki, hej. – Simpleton