我想使用codeigniter脚本运行cron作业

时间:2017-02-08 09:34:48

标签: codeigniter

脚本代码

class Deposit extends MY_Controller
{
   public function coinPaymentCron()
    {
         $this->load->model('user_model','apimodel');

        $apikeys = $this->apimodel->getApiKey();

        foreach ($apikeys as $keysapi) {
            # code...
            $publickey = $keysapi->public_key;

            $privatekey = $keysapi->private_key;
        }

        $cps = new CoinPaymentsAPI();

        $cps->Setup($privatekey, $publickey);

        $getTxIds = $this->apimodel->gettxids();

        foreach ($getTxIds as $txid) {
            # code...

            $tx_id = $txid->txn_id;

            echo $tx_id;

            $txinfo = $cps->gettxinfo($tx_id);

            if ($txinfo['error'] == 'ok') {
                # code...
                $statusText = $txinfo['result']['status_text'];

                $amountReceived = $txinfo['result']['receivedf'];

                $statusPayment = $txinfo['result']['status'];

                $this->apimodel->updateStatus($tx_id, $statusText);
            }
        }
    }
}

我用于运行cron job的代码命令是

/usr/local/bin/php /home/name/public_html/index.php deposit coinPaymentCron

我也尝试过很多方法,比如使用wget和curl,但遗憾的是没有一个方法适合我。 还使用url检查脚本,脚本运行正常并更新数据库,但cron作业未运行。 其他一些cron作业正在使用此方法运行

/usr/local/bin/php /home/name/public_html/index.php

任何人都可以帮助解决这个问题,或者让我知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

据我所知,有许多方法可以调用CodeIgniter的功能,例如

此解决方案适合我

php /full-path-to-cron-file/cron.php /deposit/coinPaymentCron

另外,你可以试试这个:

wget example.com/index.php/deposit/coinPaymentCron

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

但您阅读本教程:http://www.asim.pk/2009/05/14/creating-and-installing-crontabs-using-codeigniter/并按照说明操作。这会对你有所帮助。