I have been using watchfaces for so-called background processing, but there are more and more limitations in which watchface execution is suspended entirely making this less effective, causing gaps in my data. Previoiusly watchfaces would only be suspended when a widget or activity was active. Now with new features like the morning report, watchface during sleep, and always on display off option, there are more cases where watchface "background" code (whether run in the background or on 1 min update) is suspended.
It would be nice to have a way to specify a proper background process with somewhat "guaranteed" execution (and execution time limit of course). Ideally the execution period could be customized (every 1 min to 60 min). Perhaps a totally new type of app needs to be invented for this.