Vraag Heroku: wat te doen als je dyno / werknemer crasht?


Ik laat een medewerker 24 uur per dag en 7 dagen per week verwerken. Soms crasht de code echter en moet deze opnieuw worden gestart (zelfs als ik de uitzondering accepteer, moet ik de werker opnieuw opstarten voordat deze werkt).

Wat doe je wanneer dit gebeurt of doe ik iets verkeerd en dit zou helemaal niet moeten gebeuren? Dreigt je dyno / arbeider of ben ik het gewoon?

bedankt


12
2018-06-14 10:22


oorsprong


antwoorden:


Heroku zou een werknemer moeten herstarten elke keer dat het crasht. Voor zover ik weet, hoeft u niets te selecteren of te configureren. Wat ook in uw baan is: de werktaak zal worden uitgevoerd zodra deze mislukt.

In het geval dat u sterk afhankelijk bent van achtergrondtaken in uw webapp. U kunt een rake-taak maken waarmee de laatste record wordt bijgewerkt en een achtergrondtaak wordt uitgevoerd om deze bij te werken. Of misschien de harktaak automatiseren om de rest van de records te vinden die moeten worden bijgewerkt, sinds de laatste crash.

Als alternatief kunt u de herstart van de medewerker handmatig opleggen zoals aangegeven in Dit artikel (met delayed_job):

heroku workers 0; 
heroku workers 1;

Of misschien kun je een specifieke werknemer herstarten door te doen (vermeld in Dit artikel):

heroku restart worker.1

Trouwens, probeer het 1.9 stapel. Zorg ervoor dat je app 1.9.2 compatibel is, voordat je dit doet. Hopelijk zijn crashes daar minder vaak:

heroku stack:migrate bamboo-mri-1.9.2

In het geval dat dergelijke problemen zich nog steeds voordoen. Het beste om contact op te nemen met Heroku-ondersteuning. Ze reageren heel goed op wat ze doen.


16
2018-06-14 15:03



Laatste opdracht aan herstarten een specifiek heroku webmedewerker (2014):

heroku ps:restart web.1

(getest op Cedar stapel)


9
2018-01-16 18:16



Soms, bijvoorbeeld in het geval van DB-crashes, wordt de werker mogelijk niet automatisch opnieuw opgestart. je zou dit moeten doen.

heroku herstart web.1

Het werkte voor mij.


1
2018-03-27 06:37