Bonjour,

Pour les besoin de mon application je dois envoyer des mails automatisés grâce à une tâche CRON.
Sur mon hébergeur(OVH), j'ai créé une planification de tâche de test toutes les heures pour tester,
je redirige vers mon script www/app/commands/cron.php et je voudrais savoir comment je peux utiliser mes modèles avec Eloquent depuis ce script (cron.php).
J'ai testé avec un envoi de mail en php le script marche, dois-je inclure des choses pour utiliser Eloquent ?(use ...)

Mon but etant de récupérer toutes les adresses mails pour ensuite envoyer des mails automatiques. Cela fait déjà 2 jours que j'essaye et je n'arrive pas à utiliser les modèles depuis un script.

Exemple :

<?php 

mail("alex****@hotmail.fr","test222",'test222222222222222222222222');  //marche à l'exécution du script

// ne marche pas à l'éxécution du script
$user = User::find(1);
$user->nom='testcron222';
$user->save();

?>

Merci d'avance,
Cordialement,
Alex

8 réponses


Il n'y a pas moyen que tu passes à laravel 5 ?

Sàyn
Auteur

Non c'est une grosse appli web il faudrait tout refaire pour passer à la version 5 !
Est-ce que ce que je veux faire est possible ?

Essaie peut être http://stackoverflow.com/questions/17172012/creating-and-using-laravel-4-commands on dirait qu'il est possible de créer des commandes même pour Laravel 4

Sàyn
Auteur

Merci quand même mais j'ai déjà regardé je dois éxécuter depuis un script php j'ai pas accès à une invite de commande sur le serveur pour lancer une commande!

Salut,

Je dis peut-être des bêtises mais as-tu essayé une solution similaire à celle-ci : http://stackoverflow.com/questions/18799358/how-to-use-laravel-models-in-an-external-application ?

Cdlt,
Kenshimdev

Sàyn
Auteur

Salut,
Oui j'ai regardé mais je voulais le faire sans avoir à recréer tout le système de connection avec Eloquent..
Merci quand même mais du coup je vais juste créer une simple connection avec PDO cela devrait faire l'affaire!

Cordialement, Alex

Hello,

Pourquoi ne pas faire un require du bootstrap de laravel dans ton fichier cron?

J'arrive peut-être quinze fois trop en retard, mais si j'étais à ta place, ce que je ferais c'est la chose suivante:

Créer une tâche cron, qui fait une requête HTTP sur une URL de ton application Laravel.

Dans ton application Laravel, lorsqu'on arrive sur cette URL, on envoie les emails.

Tu peux rajouter une logique de basic authentification si tu ne veux pas que de petits plaisantins déclenchent l'envoie d'emails à ta place