Carette Donny


Blogt over Drupal, SEO, Webontwikkeling, Theming, ...

Drupal cronjobs of andere functies uitvoeren via drush en crontab

Tijdens het lopen van cron op je Drupal website dienen er verschillende taken te worden uitgevoerd. Afhankelijk van je project dienen sommige taken sneller en meer te lopen dan andere, bijvoorbeeld als je werkt aan een nieuws website waar regelmatig nieuwe inhoud op wordt aangemaakt of binnenkomt via RSS feeds, dan wil je natuurlijk ook graag dat deze zo snel mogelijk wordt opgenomen in je zoekindex.

Cron problemen debuggen

Zowat iedere Drupaller zal de melding 'Attempting to re-run cron while it is already running' al wel eens zijn tegen gekomen. Tijdens het lopen van cron zijn er problemen opgetreden waardoor niet alle cronjobs succesvol zijn uitgevoerd, cron is blijven 'hangen' en zal daardoor niet opnieuw zal opstarten.

Drupal core en modules updaten is een noodzaak

Een tijdje geleden viel het mij op dat deze site enorm traag begon te laden. Door dat ik niet al te veel tijd had om het grondig uit te zoeken keek ik enkel maar naar de aanwezige modules en cache settings, waar ik geen problemen kon vinden.

Deze site staat in een shared hosting-omgeving dus dacht ik dat mogelijk daar het probleem zou liggen en stelde mij gerust met de gedachte dat het wel terug in orde zou komen.

Drush installeren in een Windows omgeving

Wie geregeld werkt aan Drupal websites weet dat er heel wat tijd kan kruipen in het up to date houden van de installatie en alle bijhorende modules. Gelukkig genoeg biedt Drupal hier ook weer een geweldige module voor die je hier bij kan helpen, namelijk Drush. Al is het eigenlijk niet echt een module maar eerder zoals op de projectpagina staat omschreven een command line shell of scripting interface voor Drupal. (Drupal's Swiss Army knife).

Indien je dit wenst te gebruiken op je hosting moet deze uiteraard al SSH toegang bieden, welke je op de meeste shared hostings niet zal krijgen. Als je op zoek gaat naar een hosting die deze optie aanbiedt kan ik je zeker Linuxsystems.be aanbevelen. (Zie eerdere blogpost: 'verhuisd van hosting')

Je website zal online waarschijnlijk draaien op een LAMP platform (Linux Apache MySQL PHP) maar je kan Drush evengoed installeren op een Windows systeem. Let wel dat er nog hard gewerkt wordt om Drush dezelfde functionaliteiten te bieden op een Windows systeem als bij een Linux systeem.

Zelf voeg ik Drush ook steeds toe aan mijn lokale installaties, zodat ik tijdens het testen of lokaal ontwikkelen van Drupal sites snel alles kan updaten of uitbreiden. Hieronder zal ik de nodige stappen overlopen die je dient uit te voeren om Drush lokaal op je Windows computer te installeren.

Indien je nog geen ervaring hebt met de command line kan je best even de blogpost 'Bespaar tijd door gebruik te maken van de command line' doorlezen.

Drupal installeren via de command line

Om tijd te winnen bij het opzetten van een nieuwe Drupal installatie kan je deze ook gewoon via de command line installeren met enkele commando's.

Je hoeft hier geen expert met de command line voor te zijn, de basis commando's zijn hiervoor reeds meer dan voldoende.

Normaal gezien download je de laatste versie van Drupal, pakt deze uit, je plaatst deze in je root of waar je de website wenst te installeren, start PHPMyAdmin of MySQL Administrator om een database en gebruiker aan te maken en surft dan naar je website om de installatie te starten.

Indien je dan nog extra modules bij wilt installeren die je deze weer te downloaden, uitpakken, en te verplaatsen.

Dit kan je eigenlijk allemaal via de juiste commando's afhandelen, indien je dan nog Drush bij installeert ben je helemaal vertrokken en kan je zelfs je website updaten met slechts 1 commando te geven.

Voor installatie van Drush of meer info over de commando's kan je http://drush.ws raadplegen.

Open alvast je CLI (command line interface). Met volgende stappen start ik een nieuwe installatie op mijn laptop op.