Как уже упоминалось @AShelly, вы описываете проблему Producer-Consumer , где типичной базовой структурой данных является очередь.
В частности, у вас есть процесс, который генерирует данныечтобы загрузить на сервер.Этот процесс является продюсером.Другой процесс - сохранение этих данных на сервере. Это означает, что этот процесс является потребителем.
Сложной задачей является синхронизация этих двух процессов, что обычно достигается с помощью семафоров.
Пока чтоэтот ответ полностью покрывает ваш, но второй крайний случай, который требует неэфемерной структуры данных.
Один из подходов заключается в создании персистентной очереди , поскольку она уже будет соответствоватьтипичная структура данных, используемая в задаче «производитель-потребитель».
Caveeat: что происходит с объектом, когда программа завершает работу в процессе обработки?Это начинается сначала, или как-то вы продолжаете именно там, где остановились?Вы можете оставить это на потом и сделать свой личный выбор по пути.