Minggu, 17 September 2017

Cara Mengatur Cron Job CodeIgniter Dari cPanel

Biasanya, script PHP bisa dijalankan dengan cron melalui beberapa metode. Bisa dengan fetching alamat web dengan command  wget atau curl. Atau dengan menjalankan script yang diinginkan dengan metode CLI melalui command php.

0 0 * * * /usr/bin/curl http://web-url/cron.php
0 0 * * * /usr/bin/wget http://web-url/cron.php

0 0 * * * /usr/bin/php /path/to/cron.php

Menurut saya, metode dengan command PHP jauh lebih efektif. Karena di antara ketiga metode, cara ini tidak akan dipengaruhi oleh timeout server. Jadi, jika kerja cron membutuhkan waktu lama dan rentan terkendala timeout, metode ini sangat cocok untuk diterapkan.

Umumnya script untuk cron ditulis sebagai path ke program php dan diikuti script cron yang perlu dijalankan. Misalnya

0 0 * * * /usr/bin/php /path/to/cron.php

Tapi bagaimana cara kita memanggil method dari controller CodeIgniter dari cron?

Mudah saja, penulisannya sama seperti contoh di atas. Namun script yang dituju bukanlah controller, melainkan index.php. Sementara itu, controller dan method yang diakses juga disertakan sebagai parameter untuk command cron.

0 0 * * * /usr/local/bin/php /home/thuglife/public_html/index.php controller method ...


Penting untuk diingat bahwa anda harus menggunakan php dari sisi lokal (/usr/local/bin/php). Jika tidak, cron hanya bekerja seperti mengakses homepage / default contoller codeigniter. Mungkin jika cron hanya dibuat di komputer sendiri tidak akan ada pengaruhnya. Tapi, script cron akan bermasalah dan menampilkan default controller / home page apabila berjalan pada shared hosting.


Load disqus comments

0 comments