san_jorich
@san_jorich
Творческий кодер

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы