这篇文章上次修改于 499 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

我们来进行测

先启动我们的异步任务处理器 ansyTask


./awctls.py start

测试的执行任务的php

task.php


<?php echo "我运行了 \n"; echo "传递过来的参数:\n"; print_r( $_SERVER['argv'] );

 

 

添加任务队列的测试php:

test.php 


<?php $mRedis = CacheRedisQueue::getInstance(); //shell脚本 $data = [ 'class' => 'AnsyTask', 'args' => [ [ 'type' => 'shell', 'dir' => '/data/www/shell/', //shell所在的路径 'mainFile' => 'test.sh' //shell文件 ] ] ]; //php 脚本 $data = [ 'class' => 'AnsyTask', 'args' => [ [ 'type' => 'php', 'dir' => '/lamp/kctz/jkd11.9/', //项目所在目录 'mainFile' => 'task.php', //要执行的php文件 'phpbin' => '/usr/local/php2/bin/php', //php所在路径 'action' => '', //针对框架 这个写控制器和方法 'cmdArgs' => 'orderId=1&amp;goodsId=2' //参数 ] ] ]; $mRedis->rPush( 'kcResque:queue:900sui:ansyTaskQueue', json_encode( $data ) );

 

我们运行这个php,把任务数据push到 kcResque:queue:900sui:ansyTaskQueue 队列


php test.php

 

我们会看到控制台打印出了task.php的执行结果

Info:2019/01/30 18:00:42 taskWorker.go:53: From Redis Key : 900sui:ansyTaskQueue; Args: map[cmdArgs:orderId=1&amp;goodsId=2 type:php dir:/lamp/kctz/jkd11.9/ mainFile:task.php phpbin:/usr/local/php2/bin/php action:]

out:
我运行了 
传递过来的参数: 
Array
(
    [0] => index.php
    [1] => /Batch-Once-Test
    [2] => orderId=1&amp;goodsId=2
)

 

源代码可在github上查看

github地址:https://github.com/wyz9527/ansyWorker