Hie ..我想要一个cakePHP脚本的帮助,该脚本将在指定的时间间隔后刷新或调用控制器中的函数。
public function testwebservices(){
ini_set("soap.wsdl_cache_enabled","0");
$options = array(
'soap_version'=>SOAP_1_2,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE
);
$wsdl = "http://example.com/service.asmx?wsdl";
$client = new SoapClient($wsdl,$options);
$lastrec = rec5000;
$rec = $client->GetReceipt(array('txnRef'=>$lastrec));
$result = $rec->GetReceiptRez;
我想调用上面的函数,以便在指定的时间后自动执行。
提前谢谢
答案 0 :(得分:0)
你最好的选择是使用cron-task(如果你使用的是Unix / Linux机器)。 cron任务可以用几种方式编写。
首先:您可以直接使用PHP解释器调用脚本,并且您在cron中运行的脚本可能看起来像
#!/bin/sh
/path/to/php /full/path/to/script.php
但是,您需要注意,您将无法获得框架的好处。这意味着您正在使用的任何框架实用程序,您必须自己加载到script.php
文件中。如果这太多了(加载所有必需的工具),那么你可以用另一种方式。
第二个:您可以创建一个端点,例如/test/web-service
,然后您可以设置一个cron来对该脚本发出Web请求,该脚本将检查Web服务是否正常运行。在这种情况下,您可能会看到一个简单的cURL请求:
#!/bin/sh
curl http://mysite.com/test/web-service
这种方法的好处是你可以把它放在任何机器上(如果你公开了URL)并且你得到了加载你的框架(在这种情况下是cakePHP)并且所有的工具都可用的好处给你。