Swoole来实现实时异步任务队列
|
假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站! 在打算放置脚本的目录(你也可以自行新建)新建Server.php,代码如下 ->serv = swoole_server("0.0.0.0",9501 ->serv->set( 'worker_num' => 1, 'daemonize' => 1, 'max_request' => 10000, 'dispatch_mode' => 2, 'task_worker_num' => 8, "task_ipc_mode " => 3, "log/taskqueueu.log",//日志 ->serv->on('Receive',(,'onReceive' ->serv->on('Task','onTask' ->serv->on('Finish','onFinish' ->serv-> onReceive(swoole_server ,,, ->task( onTask(,, = json_decode(, (['url' ->httpGet(['url'],['param' onFinish(, httpGet(, ( .= '?' . ( = curl_init(); curl_setopt(,CURLOPT_URL,); curl_setopt(,CURLOPT_RETURNTRANSFER,1); curl_setopt(,CURLOPT_SSL_VERIFYPEER, curl_setopt(,CURLOPT_SSL_VERIFYHOST, curl_setopt(,CURLOPT_HEADER,0); = curl_exec(); curl_close(); = Server();启动服务后,让我们看看如何调用服务。新建测试文件Client_test.php ->client = (!->client->connect("127.0.0.1",9501,1 (('Swoole Error: %s',->client-> send( (->client-> (!( = json_encode( ->client->send( } ('Swoole Server does not connected.' ->client-> = "url" => "http://192.168.10.19/send_mail", "param" => "username" => 'test', "password" => 'test' = -> (->send( 'success' } 'fail' ->close();在上面代码中,url即为任务所在地址,param为所需传递参数。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
