Как запретить одновременные (одинаковые) входящие запросы на стороне API?
Laravel прекрасен и продуман ) В нём есть и заготовка для организации Очереди задач.

В общем ваша задача выглядит как преобразование из возможно параллельных запросов в последовательные.
Очередь задач с единственным рабочим для этого вполне подходит.

Через artisan создайте новый Job и перенесите в него логику обработки запроса. При поступлении api запроса просто создавайте новую задачу и возвращайте мгновенно ответ "Ок, принято".

Рабочий будет постоянно работать: обрабатывать долгоиграющую пачку или ожидать поступления новой задачи. Точно не возьмётся за 2 параллельно.

p.s. почему так долго обрабатываются 1000 чеков? База тормозит при вставке? Индексы не те?
Laravel прекрасен и продуман ) В нём есть и заготовка для организации Очереди задач.

В общем ваша задача выглядит как преобразование из возможно параллельных запросов в последовательные.
Очередь задач с единственным рабочим для этого вполне подходит.

Через artisan создайте новый Job и перенесите в него логику обработки запроса. При поступлении api запроса просто создавайте новую задачу и возвращайте мгновенно ответ "Ок, принято".

Рабочий будет постоянно работать: обрабатывать долгоиграющую пачку или ожидать поступления новой задачи. Точно не возьмётся за 2 параллельно.

p.s. почему так долго обрабатываются 1000 чеков? База тормозит при вставке? Индексы не те?