Tâches planifiées
Les Web apps ou services ont parfois besoin d’exécuter des tâches périodiquement, exécuter des commandes ou appeler des URLs, sans aucune interaction utilisateur. Pour ce faire, vous devez créer une tâche planifiée.
Notre plateforme s’appuie sur Debian et sa crontab mais permet de les gérer directement dans notre interface d’administration - onglet Avancé > Tâches planifiées - et de faciliter l’utilisation.
Plusieurs types d’informations sont à fournir :
- la (les) commande(s) que vous souhaitez exécuter, ou les URLs que vous souhaitez requêter. Des adresses email peuvent aussi être renseignées pour recevoir les rapports d’erreurs1 (séparées par un espace).

- l’environnement SSH

- la périodicité de votre tâche : vous pouvez spécifiez une heure fixe, ou un intervalle

Utiliser les tâches planifiées
- Si la tâche est programmée à une certaine fréquence, mais que l’exécution de la tâche précédente n’est pas terminée, l’actuelle sera ignorée ;
- Les tâches sont démarrées dans la minute indiquée. Autrement dit, une tâche devant débuter tous les jours à 6h30, démarrera entre 6:30:00 et 6:30:59 ;
- Un log est automatiquement créé et disponible dans le répertoire
$HOME/admin/logs/jobs/
. Il vous donne le démarrage et l’arrêt de la tâche.- Un extrait de ces logs est présenté dans l’interface d’administration alwaysdata (Logs - 📄) ;
- les adresses email renseignées pour recevoir les rapports d’erreurs ne remplacent pas ces logs ;
- Les processus en cours sont accessible via le menu Avancé > Processus > Tâches planifiées ;
- Pour les tâches de type Commande, les versions de langages utilisées par défaut sont celles renseignées dans le menu Environnement de l’interface d’administration. Il est possible de choisir une autre version en utilisant les Variables d’environnement.
Remarque
Si votre script a besoin d’autoriser certaines IP, autorisez ces plages d’adresses IP.
Utilisateurs du Cloud Public :
- La consommation doit rester raisonnable. Si la tâche planifiée est un traitement lourd, il convient de diminuer la fréquence.
Utilisateurs du Cloud Privé :
- Même si c’est contre-indiqué, l’accès à la commande
crontab -e
est aussi disponible. Les deux systèmes sont distincts.
Problèmes fréquents
source venv/bin/activate && python
est spécifique à Bash et ne peut fonctionner. À remplacer parvenv/bin/python
;- les raccourcis en @ - exemples @hourly ou @reboot - ne sont pas acceptés (syntaxe non-normalisée).
Exemples
WordPress
Lancement, toutes les dix minutes, de l’outil WordPress pour exécuter leurs tâches planifiées :
Interface d’administration alwaysdata :
- valeur :
php $HOME/wordpress/htdocs/wp cron event run --due-now
- fréquence : deuxième choix - Toutes les 10 minutes
Syntaxe crontab équivalente :
*/10 * * * * php $HOME/wordpress/htdocs/wp cron event run --due-now
tt-rss
Rafraîchissement d’un backend RSS avec TT-rss, tous les jours à 10:30 :
Interface d’administration alwaysdata :
- valeur :
php $HOME/tt-rss/update.php --feeds --quiet
- fréquence : premier choix - Tous les jours à 10:30
Syntaxe crontab équivalente :
30 10 * * * php $HOME/tt-rss/update.php --feeds --quiet
Un rapport est envoyé lorsque le code de retour est différent de 0. Si le tâche n’est pas exécutée, aucun mail n’est envoyé. ↩︎