13.2. Az időzített feladatok beállítása

Last updated on
14 April 2025

Célkitűzés

Ellenőrizzük, hogy a webhely üzemszerű működésének szempontjából fontos időzített feladatok rendszeresen futnak-e. Ezenkívül gondoskodunk a megfelelő időközönként való meghívásukról vagy az alaprendszer Automated cron moduljával vagy pedig a webhelyen kívülről indítva őket.

Lépések

  1. Nyissuk meg webhelyünk Állapotjelentését (lásd: 12.5. szakasz - Alapfogalom: állapotjelentés), és keressük meg rajta az időzítő adatait, hogy mikor futott le utoljára.

    Ha a webhely annak idején a Standard (vagy magyarul Általános) profillal volt telepítve, akkor az időzített feladatok már valószínűleg megfelelően (alapértelmezés szerint háromóránként) futnak az Automated Cron modulnak köszönhetően.

  2. E ponton döntenünk kell, hogyan kívánjuk időzíteni ezen rendszerkritikus műveletek lefutását a jövőben. Alapvetően két lehetőségünk van:

    1. A webhelyet működtető Drupal saját magát hívja meg időnként, vagy
    2. Egy külső eszközt bízunk meg ugyanezzel a feladattal.
  3. A megalapozott döntéshez tudnunk kell mindkét lehetőség előnyeit és hátrányait. Az alaprendszer Automated cron modulja („A” opció) nem mindig alkalmas bizonyos webhelyek esetén:

    • A modul ugyanis annyit csinál, hogy valahányszor egy látogató lekér egy oldalt a webhelytől, akkor a kért oldal előállításán kívül ez a modul is lefut, és ellenőrzi, hogy mennyi ideje futottak le utoljára az időzített feladatok. Ha több, mint a beállított időköz, akkor meghívja őket automatikusan. Ebből az következik, hogy ha a webhelynek alacsony a látogatottsága (vagy egyáltalán nincs), akkor ez a folyamat ritkán (vagy akár soha) nem játszódik le.
    • A fent vázolt működési mód azt is jelenti, hogy az időzített feladatok végrehajtására csak azután kerülhet sor, hogy a látogató által kért oldal előállítása már megtörtént. Mivel a webkiszolgálók csak egy előre megadott időkeretet szánnak egy-egy kérés feldolgozására (pl. a PHP-szkriptek végrehajtására), ezért ha maga az oldalgenerálás sok időt vett igénybe, akkor előfordulhat, hogy az időzített feladatok elvégzésére már alig (vagy semmi) fennmaradó idő nem jut ebből az időkeretből. Ilyen esetben a rendszernapló (lásd: 12.4. szakasz - Alapfogalom: a rendszernapló) hibákat fog tartalmazni, melyből értesülhetünk, hogy nem volt teljes az oldallekéréshez hozzáfűzött feladatok végrehajtása.
    • Bár elhanyagolható mértékben, de szintén hátrányosan érinti a skálázhatóságot, hogy a webkiszolgáló folyamatainak egyikét lefoglalja az időzített feladatok futtatása, és ezen idő alatt ez a folyamat nem tud látogatói kérésekre válaszolni.
  4. A fent leírtak ellenére az Automated cron modul által kínált funkcionalitás megfelelő lehet kis és közepes forgalmú webhelyeken, ezért ha a használata mellett döntünk, először is győződjünk meg róla, hogy telepítve van-e a webhelyünkön? (Az Általános telepítési profillal biztosan engedélyezve lett, más esetben pedig a 4.3. szakasz - Modulok telepítése leírás segíthet.)

    Ezt követően állítsuk be, milyen gyakran futtassa az időzített feladatokat. Válasszuk ki a Kezelés adminisztrátori menüben a Konfiguráció > Rendszer > Időzítő menüpontot, vagy írjuk be a címsorba az admin/config/system/cron) útvonalat. A legördülő menüből válasszuk ki a kívánt értéket, majd kattintsunk a Beállítások mentése gombra.

    Az alaprendszer Automated cron moduljának beállítása

  5. Ha azonban a fenti érveket megfontolva úgy döntünk, hogy az időzített feladatokat a webhelyen kívülről indíttatjuk („B” opció), akkor javasolt letiltani az Automated cron modult, mivel nem lesz rá szükség (ehhez lásd a 4.4. szakasz - Nem használt modulok letiltása részt). Ezután keressük meg az időzített feladatok webcímét az előző lépésnél is megnyitott Időzítő oldalon. Valószínűleg ehhez hasonlóan fog festeni: http://pelda.hu/cron/0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re

    Valahányszor ezt a speciális URL-t meghívják, a webhely időzített feladatai lefutnak. Így már könnyen be tudunk állítani valamilyen külső eszközt ennek kezelésére:

    • A Cron daemon Linux, OS X, Solaris és BSD operációs rendszereken futó webkiszolgálókhoz (leírás angol nyelven).
    • A Scheduled Tasks Windows operációs rendszereken futó webkiszolgálókhoz (leírás angol nyelven).
    • Fizetős szolgáltató SASS (software as a service, azaz „szoftver szolgáltatásként”) formában.
    • A tárhelyszolgáltató által nyújtott cron kezelő, aminek a tárhely dokumentációjában nézhetünk utána.

Egyéb források

  • Running Drupal cron tasks from Drush (azaz „A Drupal időzített feladatainak futtatása Drushsal”) című dokumentáció angol nyelven.
  • Setting up cron (azaz „A cron beállítása”) című közösségi dokumentáció a Drupal.org-on szintén angol nyelven.

Közreműködők

Írta és szerkesztette: Dave Hansen-Lange (Advomatic), Boris Doesborg és Jennifer Hodgdon. Fordította: Balu Ertl (Brainsum).

 

This page is generated from AsciiDoc source from the User Guide. To propose a change, edit the source and attach the file to a new issue in the User Guide project. PDF and e-book formats are available on the User Guide project page.

Source file: security-cron.asciidoc

Help improve this page

Page status: No known problems

You can: