ты можешь для построения этой модели использовать "модели планет" - в том плане что это будет некое упрощение поскольку таких характеристик как масса и диаметр тебе хватит в целом для построения модели движения. Пусть и будут погрешности они достаточно маленькие что бы ими пренебречь.
А может тебе нужно только скорость и характеристики обиты, ты мол не хочешь все эти N body problem делать.
Итого, вместо простого выполнения какого-то действия мы подымаем целое соединение с приложением, проходим все круги реквеста, генерим респонс. Команда это такая же точка входа в приложение, просто скриптовая.
А на тему "жрет". Раз в 10 секунд происходит запуск. Он успевает за 10 секунд все обработать? Если вдруг нет - начинаем копить. Тут бы lock компонент использовать. Чтобы гарантировать запуск только одной команды. Ну и это. Зачем так часто-то?