Как организовать отложенное применение изменений в mysql?
Есть сайт, где PHP скрипт в фоне обрабатывает xml файл и вносит изменения на сайт о товарах/категориях.
Подскажите, как сначала внести изменения в базу, а когда всё будет готово и PHP скрипт закончит свою работу применить изменения.
Сейчас объёмы xml файлов увеличились и php скрипту требуется около полу часа на разборку.
Есть идея создать вторую базу данных, копию, куда вносить изменения, а потом генерировать SQL скрипт и выполнять его на основной базе. Но может есть что попроще?
Если есть возможность внести изменения в структуру БД и в логику работы приложения, то можно в таблицы добавить флаг, который будет означать, что запись еще не готова к продуктиву.
Снимать флаг при завершении обработки данных - тут и транзакции пригодятся.