Задать вопрос
san_jorich
@san_jorich
Творческий кодер

Как правильно аннулировать действия при прерывании создания записей?

Обращение к Модераторам
Точно не знаю к какой категории отнести данный вопрос, но решения задачи, изложенной в вопросе относится к стандартным функциях Wordpress, PHP и jQuery. Надеюсь на понимание

Пишу комплекс js-php-wordpress функций "налету" добавляющих термы таксономиям, создающих аккаунты, записи с кучей произвольных полей и прочих данных. И возник вопрос: Как быть в случае преждевременного прерывания процесса создания?
Например: При добавлении объекта недвижимости сначала идет проверка базы арендодателей\владельцев по номеру телефона и если номера в базе нет - начинается процесс заведения аккаунта владельца, после создания которого jQuery выводит метабоксы с полями для создания еще кучи попутных данных объекта с step-by-step генерациями термов "налету".
Все замечательно как вдруг юзверю приспичит и.. он закроет окно, у него закончится интернет, случится конец света и процесс создания объекта недвижимости не будет доведен до конца, по сути оставив кучу мусора
Вопрос: Как в таком случае отменять все действия и "подчищать" за юзером неприкрепленные, ajax-ом созданные данные ничем, по итогу не связанные ?
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 4
@id_baton4eg
Как вариант собирать данные в одну переменную с массивом и уже её сохранять одним запросом с кучей полей в завершении формы, так и нагрузка будет меньше и переменная очистится при перезагрузке, и мусора никакого не будет - сплошной профит :)
Ответ написан
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Без понятия как пилить такое на цмсках, я бы просто ставил дату проводимой записи, в финале должно быть подтверждение регистрации и соответствующая запись в бд. По крону удалять все цепочки действий, которые не получили подтверждения завершения и старше N дней/недель/месяцев.

Имхо можно тупо забить, ибо еще 10 неактивных записей в базе в месяц - вообще ниочем.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
И ничего плохого в этом нет. Более того, вы получаете информацию о доходимости пользователя до цели (и без всяких метрик и т.п.)

Компании, которые обладают огромными объемами (петабатами) данных имеют так называемый Data Lifecycle Management. Данные периодически проверяются на качество и чистятся по необходимости. Достаточно рядовая операция.
Ответ написан
Комментировать
Делайте флаг завершения каждой операции. Так Вы будете знать, на каком этапе остановился пользователь. А если пользователь закинул это дело, то по истечении времени сделать откат, т.е. удаление созданных записей
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы