AutomateWoo traite de nombreux déclencheurs de manière asynchrone à l’aide d’événements asynchrones. Ces événements sont séparés de l’événement principal et légèrement retardés.

Avant AutomateWoo 4.8 , ces événements asynchrones étaient toujours temporairement stockés dans la base de données et exécutés en arrière-plan. Ils s’exécutes indépendamment du fait qu’ils soient utilisés ou non.

AutomateWoo 4.8 introduit un certain nombre d’optimisations du fonctionnement du système d’événements asynchrones. La principale différence est que les événements asynchrones ne s’exécuteront désormais que si le site a un flux de travail actif qui nécessite l’événement.

Supposons que votre site n’utilise pas le déclencheur de création de compte client. Dans ce cas, AutomateWoo ne créera plus d’événement asynchrone lorsqu’un client crée un compte.

Implications pour les déclencheurs personnalisés

La documentation suivante est destinée aux développeurs. Pour suivre cette documentation, vous aurez besoin d’une compréhension avancée du développement PHP et WordPress .

Les événements asynchrones requis de chaque flux de travail sont définis par le déclencheur du flux de travail. Cela signifie que les déclencheurs personnalisés doivent déclarer les événements asynchrones dont ils ont besoin s’ils sont déclenchés par un hook d’événement asynchrone.

Un exemple de ceci est le déclencheur de commande payée qui est lancé par l’action WordPress automatewoo/order/paid_async. Il s’agit d’un événement asynchrone. Il est déclenché de manière asynchrone en étant stocké dans la base de données et exécuté peu de temps après l’événement d’origine de la commande payée. Par conséquent, le déclencheur Order Paid doit déclarer qu’il nécessite l’événement asynchrone order_paid.

Une exigence d’événement asynchrone est déclarée sur un déclencheur avec la propriété $required_async_events, comme indiqué dans l’ exemple de code ci-dessous .

COMMENT SAVOIR SI MON DÉCLENCHEUR NÉCESSITE UN ÉVÉNEMENT ASYNCHRONE ?

Si votre déclencheur utilise l’un des hooks d’action asynchrone répertoriés ci-dessous, vous devrez ajouter le nom de l’événement à la propriété  $required_async_eventsdu déclencheur.

LISTE DES ÉVÉNEMENTS ASYNCHRONES

Voici une liste de noms d’événements asynchrones avec leurs actions WordPress correspondantes.

  • 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