Service stopped by Voroa: why it happens and how to restart
What the Stopped by Voroa badge means, why we stop a service that restarts without end, what happens to your code and data, and how to fix it and bring it back.
If your service shows a Stopped by Voroa badge, it means we stopped it because it kept starting and stopping again without ever staying up. You will also have received an email about it, and an earlier one warning you that the service was restarting.
Nothing has been deleted. Your code, your settings, your environment variables, your domains and your data are all exactly as you left them.
Why we stop a service
A service that cannot stay up restarts forever. Each restart costs processing power on the machine your service shares with others, and a service in that state is not doing any useful work — it never gets far enough to serve a request or finish a job.
So we watch for it, and we do two things in order:
- We write to you first. The first email says the service keeps restarting, and points you at the logs.
- If nothing changes, we stop it a day later. That gap is deliberate: it is longer than a working day, so an email read at night still leaves you the morning to act.
The service page also shows “This service keeps restarting” from the moment we notice. If our email cannot be sent to you, we wait longer before stopping it: 72 hours from when the loop started. We never start a stopped service again by ourselves. Bringing it back is your decision.
What to do
1. Read the logs. Open your service and go to Logs. The lines just before it stops are the ones that matter — they say what went wrong, in your program’s own words.
2. Fix the cause. In almost every case it is one of three things:
- The start command is not right. Check Settings and confirm the start command is the one that actually runs your program.
- Something your code needs is not installed. A missing package or an environment variable your code reads at startup will stop the process immediately.
- Your program finishes instead of staying running. A background service is meant to keep running. If your program does its work and ends, it will be started again from the beginning, over and over. That is not a crash — it means the work belongs in a cron job. See Worker or cron job?
3. Start it again. Press Resume on the banner, or deploy your fix with Manual Deploy. Either one brings the service back and clears the notice straight away.
After you start it again
The service runs exactly as it did before. If it stays up, that is the end of it.
If it goes back into the same loop, you get a fresh warning email first. Because we already stopped it in the last 7 days, the service is stopped one hour after that email if it is still looping, not a day later. There is no limit on how many times you can bring it back - the only thing that ends the cycle is fixing what makes it stop.
Related
- Worker or cron job? — when a program that finishes should be a cron job
- Deploy status — what each badge on your service means
- Troubleshooting deploys — when the build itself fails