WP-Cron Overview

WP-Cron suorittaa erityisiä tehtäviä WordPress-käyttöisille sivustoille. Nimi Cron tulee Unix-järjestelmästä, joka mahdollistaa töiden ajoittamisen aina kerran minuutissa ja kerran vuodessa. Olipa kyse rutiinihuollosta tai aikataulutetuista hälytyksistä, mikä tahansa Unixissa ilman käyttäjän väliintuloa suoritettava komento voidaan ajoittaa Cron-tehtäväksi.

WP-Cron on luonteeltaan samanlainen kuin Cron, mutta eroaa parilla hyvin tärkeällä tavalla. Tämä ominaisuus on suunniteltu yksinomaan käsittelemään WordPress rutiinitehtäviä:

  • Tarkista uusi versio WordPress-ytimestä, teemoista ja liitännäisistä
  • Siivoa roskapostia

liitännäiset ja teemat voivat lisätä tehtäviä, jotka suoritetaan säännöllisin väliajoin. Esimerkiksi, jos sinulla on plugin, joka skannaa Twitter tweets ja sitten sisällyttää ne kommentteja, se on todennäköisesti tehty WP-Cron työtä. WP-Cron avaa kokonaan uuden maailman asioita, jotka WordPress powered sivusto voi tehdä.

miten WP-Cron laukeaa?

suurin ero Cronin ja WP-Cronin välillä on se, miten WP-Cron laukeaa. Cron on järjestelmäprosessi, joka toimii joka minuutti ja etsii suoritettavia tehtäviä. WP-Cron, koska se on web-pohjainen järjestelmä, voi toimia vain, kun joku vierailee sivustolla. Siksi, kun joku navigoi WordPress sivuston, WP-Cron tarkistaa, jos jotain on tehtävä. Kiitos WordPress core kehittäjät, se tekee tämän tavalla, joka ei vaikuta haitallisesti suorituskykyä sivuston.

ongelmia vähäliikenteisillä sivustoilla

vähäliikenteisillä WordPress-sivustoilla saattaa esiintyä ohitettuja tehtäviä, kun kävijät käynnistävät tämän ominaisuuden. Jos ihmiset eivät vieraile sivustossasi, WP-Cron ei voi suorittaa. Tämä ei tarkoita, että sivusi on hidas aiemmista työpaikoista, kun joku lopulta käy sivustossasi. Riippumatta siitä, kuinka monta tehtävää WP-Cron on suoritettava, ne suoritetaan taustalla, joten sivustosi suorituskyky ei vaikuta haitallisesti.

ongelmia Runsasliikenteisillä sivustoilla

Jos WordPress-käyttöinen sivusto on runsasliikenteinen, Saatat törmätä ongelmiin WP-Cronin kanssa. Tärkeimmät esiin tulevat asiat ovat kisaolosuhteet ja pitkät juoksuprosessit.

  • kisakunto: Kun useampi kuin yksi käyttäjä vierailee sivustossasi ja laukaisee WP-Cronin suorittamaan saman tehtävän. WP-Cron tekee kovasti töitä kisaolosuhteiden eliminoimiseksi, mutta niitä voi silti tapahtua etenkin vilkkailla työmailla.
  • pitkä juoksuprosessi: mikä tahansa tehtävä, jonka suorittaminen kestää normaalia 60 sekuntia kauemmin. Kehittäjät voivat säätää set_time_limit() – funktiolla, kuinka kauan PHP: n tehtävä saa jatkua. Jos tämä on asetettu pidemmäksi kuin tehtävien välinen ikkuna, voit päätyä useampaan kuin yhteen kopioon wp-cron.php suoritettaessa.

molemmat näistä ongelmista käsitellään WP-Cronin sisäisessä lukituksessa, eivätkä ne ole yleisiä ongelmia, mutta niitä voi silti satunnaisesti esiintyä.

Hallitse WP-Cronia sisäisesti

WP-Cron tulee esiaseteltuna ja valmiina toimimaan, joten sinun ei tarvitse tehdä mitään sen mahdollistamiseksi WordPress-sivustoillasi.

WordPressin alkuasennuksen aikana useita tehtäviä konfiguroidaan automaattisesti. Voit käyttää muutamia yksinkertaisia komentoja komentoriviltä, tai yksi useista plugins, löytää tarkat työt suoritetaan WP-Cron.

WP-Cron CLI: stä

Jos Terminus on asennettu, näet helposti kaikki yksityiskohdat siitä, mitä WP-Cronilla tapahtuu. Terminus, kautta WP-CLI, voi näyttää sinulle yksityiskohtia, kuten:

  • mitä on suunniteltu suoritettavaksi
  • mitä ajetaan seuraavaksi
  • tapahtumakoukut, jotka on perustettu

voit myös ajoittaa omia töitä, suorittaa olemassa olevia töitä, ja hallita lähes kaikkea WP-Cron liittyvät—kaikki komentoriviltä.

yksi ensimmäisistä asioista, jotka kannattaa tehdä, on testata WP-Cron varmistaaksesi, että kaikki toimii oikein. Kun suoritat alla olevan komennon, muista korvata site_name sivustosi nimellä Pantheonin kojelaudasta ja korvata env_name halutulla ympäristöllä (”dev”, ”test”, ”live” tai multidev branch name).

terminus wp <site>.<env> -- cron test

Jos kaikki toimii oikein, tulos näyttää tältä:

Success: WP-Cron spawning is working as expected.

näin tiedät, että WP-Cron toimii sivustossasi oikein. Täältä voit suorittaa minkä tahansa croniin liittyvän komennon WP-CLI: llä. Kun käytät WP-CLI hallita Pantheon isännöi WordPress sivuston, sinun pitäisi käyttää Terminus. Komennon muoto on seuraava:

terminus wp <site>.<env> -- cron <your wp-cron command and switches here>

kaikki terminus wp komennot vaativat toimiakseen sivuston nimen ja ympäristön.

Huomautus

jos olet suojannut sivustosi käyttämällä kojelaudan suojausasetusta, Terminus ei pysty suorittamaan cronia ja saatat nähdä tilaraportin virheitä kojelaudassa.

liitännäiset

Jos haluat pitää silmällä WP-Cronia, mutta et pidä komentorivistä, voit käyttää useita liitännäisiä. WP Crontrol, esimerkiksi, näyttää kaikki tapahtumat ajoitettu sivuston. Voit luoda, muokata, ajaa tai poistaa työpaikkoja välittömästi WordPress admin dashboard. Voit myös kytkeä uusia toimintoja aikatauluihin tai siirtää olemassa olevia toimintoja uusiin aikatauluihin Työkalut-osiosta.

WPX Cron Manager Lite tekee samanlaisen työn hieman erilaisella käyttöliittymällä. Tämä plugin vaatii sinua tekemään kertaluonteinen asennus WPX puitteet, jonka voit tehdä suoraan plugin manager sivu.

Hallitse WP-Cronia Ulkoisesti

Jos haluat enemmän kontrollia sivustosi cron-tehtäviin, tai et halua WP-Cronin hoitavan tehtäviä sisäisesti, voit käyttää ulkoisia croneja sen sijaan. Tämä ratkaisee edellä mainitut ongelmat runsasliikenteisillä ja vähäliikenteisillä työmailla.

Poista WP-Cron käytöstä

ensimmäiseksi WP-Cronin sisäinen käsittely käytöstä. Lisää seuraava rivi wp-config.php file:

wp-config.php
define('DISABLE_WP_CRON', true);

huomaa

on monia tärkeitä tehtäviä, jotka WP-Cron hoitaa, joten ole valmis suorittamaan kaikki alla olevat vaiheet.

ilmaiset palvelut

kun WP-Cron on poistettu käytöstä, tarvitset palvelun, joka kutsuu URL-osoitteen säännöllisin väliajoin. Helpoiten tämä onnistuu perustamalla tili ilmaisella cron-palvelulla:

  • EasyCron
  • Set Cron Job
  • cron-job

mikä tahansa edellä mainituista palveluista hoitaa homman. Poistamalla WP-Cron käytöstä olet sammuttanut wp-cron.php – komentosarjan automaattisen tarkistamisen ja kutsumisen. Sinun täytyy nyt soittaa kyseiseen URL-osoitteeseen itse käyttämällä jotakin yllä olevista palveluista. Useimmilla heistä se on yhtä helppoa:

  1. perustaa tilin
  2. perustaa työpaikan, joka kutsuu https://yourdomain.tld/wp-cron.php?doing_wp_cron

Note

korvaa ” yourdomain.sinun valtakuntasi.

riippuen siitä, mitä palvelua käyttää, voi olla mahdollista perustaa useita työpaikkoja eri aikoina. Yksittäisen työn luominen, joka kutsuu sivustosi wp-cron.php script 15 minuutin välein, on kaikki mitä sinun pitäisi tarvita. WP-Cron hoitaa loput. Jos luot uusia aikatauluja, jotka täytyy ajaa useammin kuin kerran 15 minuutissa, sinun täytyy säätää työsi sen mukaisesti.

on tärkeää, ettet lisää arvoa doing_wp_cron kyselymuuttujalle; sen on oltava tyhjä, jotta kronikka toimisi kunnolla.

omalla palvelimella

jos hallinnoit omaa palvelinta, voit käyttää cron-palvelua soittaaksesi wp-cron.php komentosarjaan. Sinun täytyy opetella perustamaan Cron-työ oikein ja käyttää jotain wget tai curl hakeaksesi web-sivun. Ellet ota erityisiä varotoimia, se ei ole turvallisempaa käyttää omaa palvelinta vs. web-pohjainen cron palvelu; kuitenkin, se antaa sinulle enemmän valvontaa.

turvallisuus

suurimmaksi osaksi wp-cron.php on turvattu. On vain yksi parametri, joka vaikuttaa skriptiin (doing_wp_cron). Tätä $_GET arvoa ei suodateta; sitä käytetään vain lippuna eikä prosessin tai muuttujan syötteenä. Sen lisäksi kaikki panos jätetään huomiotta.

vaikka mikään skripti internetiin liitetyllä palvelimella ei ole 100% turvallinen, wp-cron.php ei tällä hetkellä ole tunnettuja haavoittuvuuksia tai hyväksikäyttöjä.

WordPress Cron Plugins

WordPress sisältää monia liitännäisiä, jotka hallitsevat sekä sisäisiä WP-Cron-tehtäviä että ulkoisia Cron-tehtäviä. Koska Pantheon ei tarjoa Cron-palveluita, emme suosittele tai estä minkään tietyn liitännäisen käyttöä. Kehotamme sinua tarkistaa luettelon WordPress Cron Plugins ja kokeilla Oman Dev ympäristössä löytää se, joka parhaiten sopii tarpeisiisi.

Vastaa

Sähköpostiosoitettasi ei julkaista.