Если вы не можете изменить ResourceConsumingFunction
ваше невезение.
Поскольку ResourceConsumingFunction
выполняет всю работу, если вы не можете изменить его, чтобы сообщить о прогрессе, как вы ожидаете, что сможете показать прогресс? Остальная часть вашего кода не может волшебным образом угадать, как долго будет работать ResourceConsumingFunction
до его завершения.