Очередь запросов к бд
Ребята, привет!
Подскажите, пожалуйста, как сделать очередь запросов при таком ТЗ
Колонки в таблице клиентом предлагаются такие (он просто написал тз с чуть ли не потабличным описанием БД, ибо думал, что будет фреймворк, но никто не взялся)
1. Что именно хранить в этой таблице относящееся к запросу?
2. Возможно ли вообще сделать такую унификацию задач?
3. Хранить ли все такие задания в одной таблице или как минимум в разные по времени выполнения скрипта(немедленные, в указанное время, очередь после всех заданий)?
4. Это все вешать на крон? как тогда возвращать ответ пользователю?
5. Если абстрагироваться от того, что предложено, как бы вы сами реализовали очередь запросов на php?
Просто пока думаю, в какую сторону копать и не могу решить.
Подскажите, пожалуйста, как сделать очередь запросов при таком ТЗ
С целью снижения нагрузки на сервер и распараллеливания процессов применяются очереди заданий, реализованные с помощью:
1. mysql — те очереди, данные из которых нельзя потерять в случае зависания/перезагрузки сервера
2. redis – все прочие очереди заданий.
Задание из очереди выполняется не раньше, чем указанное в нём время выполнения. При постановке в очередь время выполнения заданий может быть следующим:
1. Выполнить немедленно
2. Выполнить по очереди после всех заданий
3. Выполнить в указанное время
Колонки в таблице клиентом предлагаются такие (он просто написал тз с чуть ли не потабличным описанием БД, ибо думал, что будет фреймворк, но никто не взялся)
Id заданияПытаюсь понять, как это реализовать в рамках терминологии и объектов modx. Т.е. как минимум создать свою таблицу, класс и создать все мапы и разделы через например CMPConfigurator или MIGX Configurator. Это могу, делал.
Тип очереди (отправка email, sms, запросы к API 1C)
requestId
Дата и время постановки в очередь
Очерёдность выполнения (немедленно, по очереди, в указанное время)
Дата и время выполнения
Порядковый номер попытки выполнения
Тип задания
Обработчик
1. Что именно хранить в этой таблице относящееся к запросу?
2. Возможно ли вообще сделать такую унификацию задач?
3. Хранить ли все такие задания в одной таблице или как минимум в разные по времени выполнения скрипта(немедленные, в указанное время, очередь после всех заданий)?
4. Это все вешать на крон? как тогда возвращать ответ пользователю?
5. Если абстрагироваться от того, что предложено, как бы вы сами реализовали очередь запросов на php?
Просто пока думаю, в какую сторону копать и не могу решить.