Higher startsecs causes start failures

I'm running into an issue where Puppet apply fails because it cannot start the services. It appears this is happening because `startsecs` waits the amount of seconds specified before listing the service status as `RUNNING`. Before running the state is `STARTING`.

This seems to happen between the initial `supervisorctl update` and the service status check. The update is triggered (which in turn starts services with `autostart` set), then the individual service status checks that the process is `RUNNING`. But since `startsecs` has not passed yet, the status is still `STARTING` which causes a failure.

I'm wondering if it makes sense to have the status check for `RUNNING` or `STARTING`? The problem here would be processes that actually fail to start after `startsecs`. Puppet would not catch this case. Any thoughts on how to cover both cases?