We have a process that we run in a manual_scaling App Engine service, using Go 1.8. We have a process that does some work, then calls runtime.RunInBackground to restart itself. This way, the logs look more sensible, since this seems to start a "new" request. Twice now, after running for a while (in the case, about a week or so), it calls RunInBackground, which does not return an error, but the new background thread never starts.
Is there any problem with using RunInBackground in this way, with a manual scaling instance that will remain running for a long time? Are there any reasons that RunInBackground can fail that I should be aware of?
I guess I probably should be using a cron that runs once a minute instead of something that sleeps and calls RunInBackground over and over again...
Thanks for any suggestions!
Evan