Redis
 sql >> Base de données >  >> NoSQL >> Redis

le travailleur python-rq se ferme automatiquement

C'est bon j'ai compris le problème. C'était à cause du délai d'expiration du travailleur.

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

Ainsi, selon mon code, le domaine suivant est retiré de la file d'attente si 200 URL sont extraites de chaque domaine. Mais pour certains domaines, le nombre d'urls était insuffisant pour que la condition se termine (comme seulement 1 ou 2 urls).

Étant donné que le code attrape toutes les exceptions et les ajoute à error.txt dossier. Même l'exception de délai d'attente rq rq.timeouts.JobTimeoutException a été capturé et a été joint au dossier. Ainsi, le travailleur doit attendre x durée, ce qui entraîne le licenciement du travailleur.