1--TEST--
2swoole_server/task: task in manager
3--SKIPIF--
4<?php require __DIR__ . '/../../include/skipif.inc'; ?>
5--FILE--
6<?php
7require __DIR__ . '/../../include/bootstrap.php';
8
9use Swoole\Server;
10$pm = new SwooleTest\ProcessManager;
11$pm->setWaitTimeout(60);
12$pm->parentFunc = function ($pid) use ($pm) {
13    echo "SUCCESS\n";
14    $pm->kill();
15};
16
17$pm->childFunc = function () use ($pm)
18{
19    ini_set('swoole.display_errors', 'Off');
20    $serv = new Server('127.0.0.1', $pm->getFreePort());
21    $serv->set(array(
22        "worker_num" => 1,
23        'task_worker_num' => 2,
24        'log_file' => '/dev/null',
25    ));
26    $serv->on("managerStart", function (Server $serv)  use ($pm)
27    {
28        $serv->task(['type' => 'array', 'value' => 'manager']);
29    });
30    $serv->on('receive', function (Server $serv, $fd, $rid, $data)
31    {
32
33    });
34
35    $serv->on('task', function (Server $serv, $task_id, $worker_id, $data) use($pm)
36    {
37        Assert::false($serv->finish("OK"));
38        $pm->wakeup();
39    });
40
41    $serv->on('finish', function (Server $serv, $fd, $rid, $data)
42    {
43
44    });
45    $serv->start();
46};
47
48$pm->childFirst();
49$pm->run();
50?>
51--EXPECT--
52SUCCESS
53