Sự kiện không đồng bộ

Linh Dinh March 1, 2024 Không có phản hồi

AutomateWoo xử lý nhiều các trình kích hoạt không đồng bộ bằng cách sử dụng các sự kiện không đồng bộ. Các sự kiện này được tách biệt khỏi sự kiện chính và hơi bị trễ.

Trước AutomateWoo 4.8 , những sự kiện không đồng bộ này luôn tạm thời được lưu trữ trong cơ sở dữ liệu và chạy ở phía sau. Điều này xảy ra dù có được sử dụng hay không.

AutomateWoo 4.8 giới thiệu một số cải tiến về cách hệ thống sự kiện không đồng bộ hoạt động. Sự khác biệt chính là các sự kiện không đồng bộ giờ đây chỉ chạy nếu trang web có một quy trình làm việc đang hoạt động yêu cầu sự kiện.

Giả sử trang web của bạn không sử dụng trình kích hoạt Customer Account Created . Trong trường hợp đó, AutomateWoo sẽ không tạo sự kiện không đồng bộ khi một khách hàng tạo tài khoản.

Hậu quả cho các trình kích hoạt tùy chỉnh

Mỗi sự kiện không đồng bộ cần thiết của quy trình làm việc được đặt bởi trình kích hoạt của quy trình. Điều này có nghĩa là các trình kích hoạt tùy chỉnh phải khai báo những sự kiện không đồng bộ mà họ yêu cầu nếu họ được kích hoạt bởi một hook sự kiện không đồng bộ.

Một ví dụ về điều này là trình kích hoạt Order Paid được khởi tạo bởi hành động WordPress automatewoo/order/paid_async . Đây là một sự kiện không đồng bộ. Nó được kích hoạt không đồng bộ bằng cách được lưu trữ trong cơ sở dữ liệu và chạy ngay sau khi sự kiện thanh toán đơn hàng gốc xảy ra. Do đó, trình kích hoạt Order Paid phải khai báo rằng nó yêu cầu sự kiện không đồng bộ order_paid .

Một yêu cầu sự kiện không đồng bộ được khai báo trên trình kích hoạt với thuộc tính $required_async_events như được minh họa trong ví dụ về mã dưới đây .

Làm thế nào tôi biết nếu trình kích hoạt của tôi yêu cầu một sự kiện không đồng bộ?

Nếu trình kích hoạt của bạn sử dụng bất kỳ hook hành động không đồng bộ nào được liệt kê dưới đây bạn sẽ cần thêm tên sự kiện vào thuộc tính $required_async_events của trình kích hoạt đó.

Danh sách các sự kiện không đồng bộ

Dưới đây là một danh sách các tên sự kiện không đồng bộ với các hành động WordPress tương ứng của chúng.

  • order_created : automatewoo/async/order_created
  • order_status_changed: automatewoo/order/status_changed_async
  • order_paid: automatewoo/order/paid_async
  • order_pending: automatewoo_order_pending
  • review_approved: automatewoo/review/posted_async
  • user_registered: automatewoo/async/user_registered
  • subscription_created: automatewoo/async/subscription_created
  • subscription_status_changed: automatewoo/subscription/status_changed_async
  • subscription_renewal_payment_complete: automatewoo/subscription/renewal_payment_complete_async
  • subscription_renewal_payment_failed: automatewoo/subscription/renewal_payment_failed_async
  • membership_status_changed: automatewoo/membership_status_changed_async
  • mc4wp_form_success: automatewoo/mc4wp_form_success_async

Ví dụ về trình kích hoạt tùy chỉnh sử dụng sự kiện không đồng bộ hiện tại

Trả lời

Email của bạn sẽ không được hiển thị công khai.