MySQL / MariaDB поддерживает только триггеры, которые выполняют FOR EACH ROW
(вы, возможно, заметили эту обязательную часть синтаксиса триггера).
В любом случае, я бы никогда не рекомендовал вызывать UDF-редуктор в триггере.Вы не можете знать в триггере, будет ли зафиксировано обновление, которое породило триггер (или , когда будет зафиксировано).Служба gearman может получить уведомление об обновлении, которое оно не может просмотреть, поскольку оно еще не зафиксировано.
Вместо этого забудьте о триггере.Напишите код в своем приложении, чтобы выполнить обновление, а затем подтвердите, что оно успешно выполнено и транзакция зафиксирована.Только тогда уведомляйте gearman - вызывая API gearman из вашего приложения, а не используя MySQL UDF.
Тогда у вас есть возможность сделать одно уведомление для обновленной группы строк.
Естьпрактически нет хорошего способа использовать любую функцию UDF в MySQL, которая вызывает побочные эффекты за пределами области транзакции, и в любом случае в этом нет необходимости.