Я пытался заставить свой скрипт сохранить некоторые данные до его выхода. Я посмотрел документацию по atexit, и мне было интересно, есть ли способ проверить выполнение кода после завершения процесса (более конкретно, с помощью pytest). Может быть, в этом нет никакого смысла, но возможно ли это? Вот мой код
метод, который atexit вызывает
@classmethod
def save_state(cls, program_state, program_manager):
running = program_state.get_curr_running()
print("Saving the current state upon exit...")
pruned = program_manager.prune_programs(running)
for pg in pruned:
pg.end_now()
DataManager.update_pg_times(pruned)
# Before the program is shutdown, currently running programs are updated
import atexit
atexit.register(DataManager.save_state, program_state, program_manager)