instantsoft / icms2

Self-hosted Site Management System
https://instantcms.ru
GNU General Public License v2.0
294 stars 120 forks source link

Проблемы с системной очередью #1445

Closed Risgit closed 1 year ago

Risgit commented 1 year ago

Используемая версия InstantCMS: 2.15.2

Версия PHP: 8.1 Версия MySQL/MariaDB: 10.5.18

Как воспроизвести проблему: Неизвестно. Проблема случается раз в год.

Воспроизводится ли проблема на демо https://demo.instantcms.ru/: НЕТ

Почему-то в таблице cms_jobs оказываются строки с поврежденным полем playload. И тогда рассылка писем по системной очереди останавливается и задачи очереди начинают скапливаться в таблице cms_jobs. Можно ли сделать так, чтобы системная очередь не останавливалась на поврежденных строках, а игнорировала их и продолжала работу?

Вот описание, как приходится решать данную проблему (уже в третий раз): https://instantcms.ru/forum/ne-hochet-rabotat-sistemnaja-ochered.html#post-350289

fuzegit commented 1 year ago

После этой строки https://github.com/instantsoft/icms2/blob/master/system/core/queue.php#L92 надо вставить return false; и проблема решится. Однако, хотелось бы знать, почему возникает ошибка при json_decode. Вероятно, не помещается текст в колонку playload, хотя не очень понимаю, что туда можно записать, чтобы не поместилось в 64 кб.

Risgit commented 1 year ago

Причем пустое оказывается не всё поле playload, а именно params.

fuzegit commented 1 year ago

params возникает после json_decode