这篇文章上次修改于 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&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&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&goodsId=2
)
源代码可在github上查看
已有 16 条评论