长时间运行的goroutines

I have 12 to 13 long running goroutines in my app and they are responsible for some thousand short-lived goroutines come and go.

Other than calling runtime.Gosched() periodically, do I need to consider other things to do in long-running ones?

Note: Currently those long-running ones perform some supervisions on collections of resource every 15 to 30 seconds (and some every some minutes) and then they sleep.

No, there's no ongoing maintenance needed for goroutines. They're managed by the go runtime, and will continue to run until they return, or the main goroutine exits. You shouldn't even be calling runtime.Gosched() as it's only needed when a routine won't yield itself, but yours spend most of their time sleeping.