Siirry pääsisältöön

Action Schedulerin optimointi

Opas WordPressin ja WooCommercen Action Schedulerin optimointiin. Lue kuinka siirrät taustatehtävät sivulatauksilta järjestelmätason Cron-ajoon suorituskyvyn parantamiseksi.

Päivitetty tällä viikolla

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:

  1. 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ä.

  2. 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.log

  3. Lokitus: Kaikki suoritettavat tehtävät ja mahdolliset virheet tallennetaan polkuun /data/log/actionscheduler.log, josta niitä on helppo seurata reaaliajassa.

Tee optimointi näin

  1. Aja komento:

    wp-action-scheduler
  2. 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:

  1. 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 run

  2. Poista 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
  3. 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ä.

Vastasiko tämä kysymykseesi?