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

python-rq worker si chiude automaticamente

Va bene ho capito il problema. È stato a causa del timeout del lavoratore.

try:
  --my code goes here--
except Exception, ex:
  self.error += 1
  with open("error.txt", "a") as myfile:
     myfile.write('\n%s' % sys.exc_info()[0] + "{}".format(self.url))
  pass

Quindi, secondo il mio codice, il dominio successivo viene rimosso dalla coda se vengono recuperati 200 URL da ciascun dominio. Ma per alcuni domini il numero di URL non era sufficiente per terminare la condizione (come solo 1 o 2 URL).

Poiché il codice cattura tutte le eccezioni e si aggiunge a error.txt file. Anche l'eccezione di timeout rq rq.timeouts.JobTimeoutException è stato catturato ed è stato aggiunto al file. Facendo così attendere il lavoratore x periodo di tempo, che porta alla cessazione del lavoratore.