Action Scheduler on WordPress-lisäosien (erityisesti WooCommercen) käyttämä kirjasto, joka hoitaa taustalla suoritettavia tehtäviä, kuten tilausvahvistusten lähetyksiä, maksujen käsittelyä tai varastosaldojen päivityksiä.
Oletusarvoisesti Action Scheduler suorittaa tehtäviä aina, kun sivustolla vieraillaan. Erittäin aktiivisilla sivustoilla tai suurilla tietomäärillä tämä voi aiheuttaa merkittävää viivettä sivun latausaikoihin ja kuormittaa palvelinta tarpeettomasti.
Action Schedulerin tausta-ajon optimointi
Seravon ympäristössä voit optimoida Action Schedulerin toiminnan yhdellä komennolla: wp-action-scheduler.
Tämä komento siirtää tehtävien suorittamisen pois sivulatausten yhteydestä ja automatisoi ne suoritettavaksi suoraan palvelimen ajastetuilla toiminnoilla (Crontab).
Mitä komento tekee?
Kun ajat komennon SSH-yhteyden kautta, se suorittaa automaattisesti seuraavat vaiheet:
Asentaa ja aktivoi lisäosan: Sivustolle asennetaan
action-scheduler-disable-default-runner. Lisäosa estää Action Scheduleria suorittamasta tehtäviä normaalien HTTP-pyyntöjen (sivuvierailujen) yhteydessä.Luo Cron-ajastuksen: Palvelimen Crontabiin lisätään rivi, joka ajaa tehtävät kerran minuutissa:
* * * * * /usr/local/bin/wp action-scheduler run >> /data/log/actionscheduler.logLokitus: Kaikki suoritettavat tehtävät ja mahdolliset virheet tallennetaan polkuun
/data/log/actionscheduler.log, josta niitä on helppo seurata reaaliajassa.
Tee optimointi näin
Aja komento:
wp-action-scheduler
Voit seurata tehtävien suoritusta reaaliajassa komennolla:
tail -f /data/log/actionscheduler.log
Tehtävien seuranta WordPressin hallinnassa
Voit tarkkailla tehtäväjonon tilaa suoraan WordPressin hallintapaneelista Työkalut > Ajoitetut toiminnot (Tools > Scheduled Actions).
Sivulta näet yhteenvedon tehtävistä ja niiden tilasta:
Odottaa (Pending): Tehtävät, jotka odottavat suoritusta.
Valmis (Complete): Onnistuneesti suoritetut tehtävät.
Epäonnistui (Failed): Tehtävät, joiden suoritus keskeytyi virheeseen.
Peruttu (Canceled): Tehtävät, jotka on poistettu jonosta.
Kun wp-action-scheduler-komento on ajettu, huomaat, että tehtävät suoritetaan tasaisesti minuutin välein riippumatta siitä, onko sivustolla vierailijoita.
Milloin optimointi kannattaa tehdä?
Suosittelemme optimoinnin käyttöönottoa erityisesti, jos:
Käytät WooCommercea ja tilausmäärät tai tuotemäärät ovat suuria.
Sivustolla on käytössä useita lisäosia, jotka luovat paljon taustatehtäviä (esim. WooCommerce Subscriptions tai WP All Import).
Huomaat hidastelua WordPressin hallintapaneelissa, ostoskorissa tai kassalla.
Action Schedulerin jonossa on jatkuvasti tuhansia suoritettavia tai epäonnistuneita tehtäviä.
Optimoinnin poistaminen
Jos haluat jostain syystä palauttaa Action Schedulerin oletusasetuksiin (suoritus sivulatausten yhteydessä), toimi seuraavasti:
Poista Cron-ajastus: Kirjaudu sisään SSH-yhteydellä ja avaa crontab muokattavaksi komennolla
crontab -e. Etsi ja poista rivi, joka alkaa:
* * * * * /usr/local/bin/wp action-scheduler runPoista lisäosa käytöstä: Poista
action-scheduler-disable-default-runner-lisäosa käytöstä joko WordPressin hallinnasta tai komentoriviltä:wp plugin deactivate action-scheduler-disable-default-runner
Varmista toiminta: Tarkista WordPressin hallinnasta (Työkalut > Ajoitetut toiminnot), että tehtäviä suoritetaan edelleen sivulatausten yhteydessä.
Huomioitavaa
Jos poistat action-scheduler-disable-default-runner -lisäosan käytöstä, mutta jätät Cron-ajastuksen voimaan, tehtäviä saatetaan yrittää ajaa samanaikaisesti sekä HTTP-pyyntöjen että palvelimen ajastettujen tehtävien kautta. On suositeltavaa pitää lisäosa aina aktiivisena, kun optimointi on käytössä.
