Geplande taken
  • 28 Feb 2024
  • 5 Minuten te lezen

Geplande taken


Article Summary

Het Totara 'cron'-proces is een PHP-script (onderdeel van de standaard Totara-installatie) dat regelmatig op de achtergrond moet worden uitgevoerd. Het wordt sterk aanbevolen om de frequentie van cron in te stellen op minstens één keer per minuut. Het Totara cron-script voert verschillende taken uit met verschillend geplande intervallen, die kunnen worden geconfigureerd door een systeembeheerder.

Sla het cron-proces op je server voor je Totara niet over. Je site zal niet goed werken zonder deze site.

Een speciaal programma, 'cron', wordt gebruikt om het Totara cron-script regelmatig uit te voeren. Het Totara cron-script voert taken uit, waaronder het verzenden van e-mail, het bijwerken van Totara-rapporten, RSS-feeds, het voltooien van activiteiten, het posten van forumberichten en andere taken. Omdat verschillende taken verschillende schema's hebben, zal niet elke taak in Totara worden uitgevoerd wanneer het cron-script wordt geactiveerd.

Het cron-programma (dat het Totara-script draait) is een kernonderdeel van Unix-gebaseerde systemen (inclusief Linux en OSX) die worden gebruikt om veel tijdsafhankelijke services uit te voeren. Op Windows is de eenvoudigste oplossing om een taak aan te maken in de Windows Taakplanner en deze in te stellen om regelmatig te werken. Bij gedeelde hosting zou je de documentatie moeten vinden (of vraag ondersteuning) hoe cron is geconfigureerd.

De taak bestaat uit het toevoegen van één commando aan de lijst met cron-activiteiten op je systeem. Op Unix-gebaseerde systemen is deze lijst een bestand dat een 'crontab' heet en dat alle gebruikers hebben.

Cron commando

Totara heeft twee verschillende manieren om cron te implementeren die verschillende scripts gebruiken binnen de Totara-installatie. Dit zijn de volgende:

  • Het CLI (command line tolk) script: Dit is op pad /path/to/Totara/admin/cli/cron.php. Bij twijfel is dit het juiste script om te gebruiken. Dit moet worden uitgevoerd door een 'PHP CLI'-programma op je computer. De laatste opdracht lijkt misschien op /usr/bin/php /path/to/Totara/admin/cli/cron.php. Je kunt (en moet) dit proberen op je command line om te zien of het werkt.
  • Het web-based script: Dit moet worden uitgevoerd vanuit een webbrowser en is toegankelijk via een web-URL die lijkt op http://your.totara.site/admin/cron.php. Je kunt op command line gebaseerde webbrowsers vinden (bijv. wget), dus de uiteindelijke opdracht kan er uitzien als /usr/bin/wget  http://your.totara.site/admin/cron.php. Dit heeft het voordeel dat het vanaf elke locatie kan worden uitgevoerd. Als je cron niet op je machine kunt laten werken, dan kan die ergens anders gebruikt worden.

Cron-gebruikersinterface voor sitebeheerders

Een andere belangrijke functie is de cron-gebruikersinterface voor beheerders. Hiermee kunnen beheerders weten welke taken de cron uitvoert en problemen oplossen wanneer elk onderdeel voor het laatst is uitgevoerd.

Sitebeheerders kunnen de controle overnemen over de achtergrondprocessen die worden uitgevoerd voor hun Totara-site. Deze functie geeft zichtbaarheid aan de Totara cron, waardoor het gemakkelijker wordt om te zien wat er aan de hand is, trage of mislukte processen op te sporen en de controle over cron voor een bepaalde site te nemen en te optimaliseren.

Gebruik de plannerfunctie onder het snelmenu > Server > Geplande taken om een lijst weer te geven met taken die worden uitgevoerd door cron. Dit omvat het weergeven wanneer de taak voor het laatst is uitgevoerd en wanneer deze naar verwachting de volgende keer wordt uitgevoerd.

Elke taak kan ook worden geconfigureerd om op het gewenste moment op een gewenste dag te worden uitgevoerd.

Systeembeheerders met command line toegang kunnen ook handmatig één taak uitvoeren indien nodig door uit te voeren admin/tool/task/cli/schedule_task.php met de vereiste argumenten.

Degenen die hun site laten lopen in een gehoste omgeving waar wijzigingen aan systeemcron niet kunnen worden aangebracht of die een verzoek moeten ondergaan en goedkeuringsproces ook profiteren van de configuratie in het product.

De juiste plaats vinden om de opdracht te plaatsen

Dit is afhankelijk van het systeem dat je gebruikt en je moet de documentatie voor je platform of hosting vinden en lezen. In de meeste gevallen bestaat het laten lopen van de Totara cron uit het opzetten van de juiste opdracht (hierboven) en het vervolgens toevoegen, en de tijd om de opdracht uit te voeren, aan een bestand. Dit kan gebeuren via een specifieke gebruikersinterface of door het bestand rechtstreeks te bewerken.

Als je de CLI-versie gebruikt, moet je er ook voor zorgen dat het cron-proces wordt uitgevoerd als de juiste gebruiker. Dit is geen probleem met de webversie.

Voorbeeld: Installeren van cron op Ubuntu/Debian Linux. Aangenomen dat ingelogd als root:

Gebruik de crontab opdracht om een crontab editor venster te openen voor de www-data gebruiker. Dit is de gebruiker die Apache (de webserver) uitvoert zoals op Debian-gebaseerde systemen.

$ crontab -u www-data -e

Hiermee wordt een editorvenster geopend. Om het cli cron-script elke minuut uit te voeren, voeg je de volgende regel toe:

*/1 * * * * /usr/bin/php  /path/to/Totara/admin/cli/cron.php >/dev/null

Let op dat de final >/dev/null alle output naar de 'bin' stuurt en verhindert dat je elke minuut een e-mail krijgt.

Aanbevolen instellingen 

Over het algemeen zijn de taken die dagelijks worden uitgevoerd degene waar je eerder op moet letten, vooral op grotere sites. De impact op de performance zal afhankelijk zijn van hoeveel informatie er moet worden verwerkt telkens wanneer deze taak wordt uitgevoerd en op welk tijdstip je de taak wijzigt. Het wijzigen van een taak per uur in een taak die elke 30 minuten wordt uitgevoerd, kan bijvoorbeeld prima zijn, maar het verminderen van de taak om elke minuut te lopen kan een impact hebben.

Het is raadzaam om deze taaktijden te controleren op problemen. De cron-logs zullen inzicht geven in de tijd die het kost om een bepaalde taak uit te voeren en op basis van deze aanpassingen kunnen ze worden aangebracht om de siteprestaties te verbeteren.

Omdat alle sites verschillen en de cron-prestaties afhankelijk zijn van het gebruik van verschillende functies, is het moeilijk om een algemene of 'ideale' configuratie aan te bieden.

Logging cron

De cron script output kan gelogd worden tijdens het uitvoeren. Je moet het pad naar PHP en het pad naar waar je het logbestand wil schrijven opgeven. Voor Windows moet je een geplande taak instellen en de opdracht opnemen. Hieronder staan voorbeelden van de opdrachten die voor elk besturingssysteem moeten worden gebruikt:

  • Unix/ Linux voorbeeld: */1 * * * * /usr/bin/php /path/to/Totara/admin/cli/cron.php >> /var/log/cron.log 2>&1
  • Voorbeeld venster: c:/php/php.exe -f c:/totara/admin/cli/cron.php > c:/totara/admin/cron.log

Voor Windows: als je problemen hebt met het gebruik van bovenstaande commando's in een tekstbestand voor het loggen van de output van cron.php. Als dit het geval is, kun je ook proberen om backslashes zoals deze te gebruiken:

PHP
@echo off c:\php\php.exe -f c:\path\to\totara\admin\cli\cron.php >> c:\totara\admin\cron.log

Voer dit uit in een batchbestand, bijvoorbeeld c:\\totara\\cron.cmd, en specificeer vervolgens het pad van dit batchbestand als de taak die moet worden uitgevoerd.

Let op dat we in het laatste voorbeeld een dubbel groter dan/pijl-symbool (>>) gebruikten in plaats van het enkele in het eerste voorbeeld (>). Het dubbele symbool betekent dat alle cron-logs in het bestand worden bewaard, eerder dan dat ze overschreven worden. Dit kan er echter voor zorgen dat het bestand behoorlijk groot kan worden, dus is het belangrijk om regelmatig onderhoud te doen en ongewenste gegevens op te schonen.

Doel geplande taken

Je kunt details over het doel van elke geplande taak vinden op de bijbehorende component helppagina (zoals hieronder vermeld):

© Copyright 2024 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions. 


Was dit artikel nuttig?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.