Nhảy tới nội dung

Table event

Hasura Extra sẽ dispatch table events triggered bởi Hasura thông qua PSR-14 event dispatcher.

info

Khác với Doctrine ORM và Eloquent events, Hasura table event sẽ được dispatch async thông qua webhook request không ãnh hưởng đến response time của request mà end-user gọi đến. Cho nên bạn hoàn toàn có thể sử dụng nó thay thế cho một số trường hợp phải sử dụng message queue như send mail hay call first/third parties.

Hasura table event triggered là một nền tảng change data capture cho nên bất kỳ application nào (ví dụ NodeJS app) tương tác với database rows của bạn đều được trigger events.

Thêm event trigger tại Hasura

Hướng dẫn cách thêm event trigger trên Hasura bạn có thể xem tại đây.

info

Khi cài Laravel package url path để handle table event sẽ là /hasura-table-event còn đối với Symfony bundle url path sẽ là /hasura_table_event.

tip

Nếu như bạn sử dụng Laravel hoặc Symfony application template thì hãy sử dụng value {{APP_BASE_URI}}/hasura-table-event đối với Laravel và {{APP_BASE_URI}}/hasura_table_event đối với Symfony để làm webhook url mỗi khi thêm event trigger.

Handling event

Sau khi thêm event trigger bạn cần thêm event listener/subscriber để lắng nghe sự kiện mà Hasura gọi vào: