web-dev-qa-db-fra.com

Comment définir l'URL du travail cron pour codeigniter?

J'utilise Codeigniter pour mon site web. Je dois utiliser le travail cron pour exécuter l'une des fonctions du contrôleur. J'utilise la route dans le site Web. Et aussi je n'utilise pas index.php dans l'URL. 

par exemple. http://my-domain.com/welcome/show , bienvenue à mon contrôleur et show est le nom de la fonction de ce contrôleur.

J'ai utilisé comme ça, 

0 * * * * php /home/username/public_html/welcome/show 

Il donne 'Aucun répertoire de ce type'

Comment puis-je définir cron jon dans CPANEL pour l'URL ci-dessus.

Merci.

36
Sachin

J'ai utilisé ci-dessous cron

php /full-path-to-cron-file/cron.php /test/index

source: http://www.asim.pk/2009/05/14/creating-and-installing-crontabs-using-codeigniter/

Cela fonctionne pour moi.

Merci à tous

18
Sachin

Utilisation:

php index.php welcome show

comme commande dans votre crontab. Par exemple.:

0 * * * * php /home/username/index.php welcome show

Source (version 2.2.0) http://www.codeigniter.com/userguide2/general/cli.html

Source (version 3. *) http://www.codeigniter.com/user_guide/general/cli.html

32
unicorn80

Vous pouvez essayer avec celui-ci:

wget api.example.com/index.php/controller/function
10
Suvash sarker

Vous pouvez aussi essayer:

0 * * * * /usr/bin/curl --silent --compressed http://my-domain.com/welcome/show

Ou localhost

0 * * * * /usr/bin/curl --silent --compressed http://localhost/welcome/show

J'espère que c'est utile.

8
alditis

/ usr/local/bin/php /home/username/public_html/index.php nom_ordinateur nom_méthode

Cela a fonctionné pour moi.

4
Reshma D

Voici le cron que j'utilise

enter image description here

/ usr/bin/php /home/pia/www/jobs/index.php newsletter cron

Explication:

a) $ _SERVER ['DOCUMENT_ROOT'] =/home/pia/www

b) site web codeigniter root =/home/pia/www/jobs

c) 'cron' = nom du contrôleur

d) 'newsletter' = nom de la méthode

1
Florin

Je l'ai fait comme 

 00 09-18 * * 1-5 /usr/bin/php /var/www/html/app/index.php crontest

crontest est le nom du contrôleur qui utilise également un modèle pour extraire des données de la base de données et envoyer du courrier périodiquement (entre 9 h et 6 PM du lundi au vendredi toutes les semaines).

Je viens de regarder cette page qui explique très en détail avec exemple. J'espère que cela sera utile à d'autres aussi.

1
Rajesh

Configurez les tâches cron via cPanel en utilisant cette procédure: 1- Connectez-vous à votre interface cPanel . 2 - Allez à la section '' Avancé '' . 3 - Cliquez sur "Cron Jobs" . 4 - Sélectionnez l’heure spécifique dans les listes fournies . 5 - Vous devez entrer la commande à exécuter dans le champ "Commande ". entrer la description de l’image ici

0
Saurabh Shukla

J'utilise codeigniter 3.0.3 et mon serveur est hostgator. Pour moi, le format ci-dessous fonctionne bien

*/15 * * * * /opt/php55/bin/php /home/username/public_html/myapp/index.php reminders index

la commande ci-dessus est exécutée toutes les 15 minutes. La commande rappelle le nom du contrôleur et index le nom de la méthode.

0
prudhvi259

Sur une instance Linux EC2, cela a fonctionné:

*/5 * * * * /usr/bin/php /var/www/html/cifolder/index.php [module] [function]
0
ssaltman
watch -n60 curl [your application path]/check_banalce/user_balance

dans mon cas, j'utilise Codeigniter et la commande ci-dessus exécute la fonction user_balance qui se trouve dans le contrôleur check_balance toutes les 60 secondes.

0
Devaniyas