Cron en achtergrondverwerking
PrimoCRM voert al het zware werk op de achtergrond uit: het verzenden van campagnes, sequence-drips en automatiseringsstappen worden verwerkt door geplande workers, nooit tijdens de pagina-aanvraag. Die workers draaien op WordPress-cron, dus een betrouwbare cron is wat ervoor zorgt dat uw e-mails op tijd worden verzonden. Deze pagina legt uit hoe dit werkt en hoe u dit betrouwbaar maakt.
Hoe PrimoCRM cron gebruikt
Section titled “Hoe PrimoCRM cron gebruikt”PrimoCRM registreert twee aangepaste schema’s en een kleine set achtergrond-workers:
| Worker | Wordt uitgevoerd | Taak |
|---|---|---|
| Campagne-e-mails verzenden | Op aanvraag (alleen zolang een campagne e-mails in de wachtrij heeft) | Levert een campagne af in gedoseerde batches |
| Sequence-verwerking | Elke minuut | Verzendt vervallen sequence-e-mails |
| Automatiseringsverwerking | Elke minuut | Laat contacten door automatiseringsstappen gaan |
| Wachtrij-gezondheidscontrole | Elke 5 minuten | Herstelt vastgelopen e-mails en triggert vastgelopen campagnes opnieuw |
Elke worker claimt een batch aan werk, respecteert een tijdbudget zodat de limieten van uw hosting nooit worden overschreden, en plant zichzelf opnieuw in. De gezondheidscontrole van 5 minuten is een vangnet: als een verzending vastloopt, duwt deze de verzending weer op gang bij de volgende interval.
Waarom een betrouwbare cron belangrijk is
Section titled “Waarom een betrouwbare cron belangrijk is”WordPress wordt geleverd met een pseudo-cron die alleen wordt getriggerd wanneer iemand de website bezoekt. Op een drukke website is dat geen probleem. Op een website met weinig verkeer kunnen er uren voorbijgaan zonder bezoeken, waardoor geplande verzendingen niet worden uitgevoerd totdat de volgende bezoeker arriveert. Het symptoom is een campagne die op “verzenden” blijft staan en langzaam of helemaal niet wordt gedruppeld.
De oplossing is om de door de bezoeker getriggerde pseudo-cron te vervangen door een echte cron die op een vast schema wordt uitgevoerd, idealiter elk minuut.
Controleren of cron actief is
Section titled “Controleren of cron actief is”- Open PrimoCRM, ga naar Instellingen en zoek naar de systeem- of cron-status, waarin wordt weergegeven of de workers zijn gepland en wanneer ze voor het laatst zijn uitgevoerd.
- Of installeer een hulpplug-in zoals WP Crontrol en bevestig dat de gebeurtenissen
primocrm_process_sequences,primocrm_process_automationsenprimocrm_queue_health_checkaanwezig zijn en worden getriggerd.
Als een campagne vastzit en uw website weinig verkeer ontvangt, is cron bijna altijd de oorzaak.
Een echte cron instellen (aanbevolen)
Section titled “Een echte cron instellen (aanbevolen)”Twee stappen: schakel de WordPress pseudo-cron uit en voeg vervolgens een echte cron toe die elke minuut wordt uitgevoerd.
1. De pseudo-cron uitschakelen
Section titled “1. De pseudo-cron uitschakelen”Voeg dit toe aan wp-config.php, boven de regel “That’s all, stop editing”:
define( 'DISABLE_WP_CRON', true );Dit zorgt ervoor dat WordPress cron niet meer triggert bij het laden van pagina’s, zodat uw echte cron de enige trigger is.
2. Elke minuut een echte cron toevoegen
Section titled “2. Elke minuut een echte cron toevoegen”Kies wat bij uw hosting past.
WP-CLI (beste optie, als u shell-toegang hebt):
* * * * * cd /path/to/wordpress && wp cron event run --due-now >/dev/null 2>&1PHP-binary (ook uitstekend bij shell-toegang):
* * * * * php /path/to/wordpress/wp-cron.php >/dev/null 2>&1cPanel: open Cron-taken, stel het schema in op elke minuut (* * * * *)
en gebruik een van de bovenstaande commando’s met het volledige pad naar uw website.
Geen shell-toegang (shared hosting)? Gebruik een gratis externe cronservice zoals cron-job.org om uw cron-URL via HTTP elke minuut aan te roepen:
https://yoursite.com/wp-cron.php?doing_wp_cronRegistreer bij de service, voeg die URL toe, stel het interval in op 1 minuut en sla op. Dit roept de WordPress-cron van buitenaf aan volgens een vast schema.
Probleemoplossing
Section titled “Probleemoplossing”- Een campagne blijft vaststaan op “verzenden”. Dit komt bijna altijd door cron. Controleer of een echte cron elke minuut wordt uitgevoerd en of
DISABLE_WP_CRONis ingesteld. De gezondheidscontrole van 5 minuten hervat de verzending zodra cron wordt uitgevoerd. - Automatiseringen of sequences worden te laat uitgevoerd. Uw cron-interval is te lang, of de pseudo-cron wacht op bezoekers. Schakel over naar een echte cron van 1 minuut.
- Er wordt helemaal niets verzonden. Controleer los van cron of uw verzamelmethode is geconfigureerd en of een teste-mail aankomt. Cron beheert wanneer het werk wordt uitgevoerd; de mailer beheert of het wordt afgeleverd.
- CPU-limieten van shared hosting. De workers hebben een tijdbudget en schalen terug onder belasting, waardoor ze veilig zijn op shared hosting. Als uw host toch klaagt, vermindert een iets langer interval (2 tot 5 minuten) de frequentie ten koste van de snelheid.
Zie ook Vereisten voor PHP- en servervoorwaarden, en Verzenden en afleverbaarheid voor het gedeelte over de mailer.