라이브러리

[PHP] Pool::submitTo - 실행을 위해 특정 작업자에게 작업을 제출합니다.




Pool::submitTo() 함수

Pool::submitTo() 함수는 PHP의 Swoole coroutine pool 기능을 사용하여 작업을 제출하는 데 사용됩니다. 이 함수는 coroutine pool에 작업을 제출하고, 작업이 완료되면 결과를 반환합니다.

Pool::submitTo() 함수의 사용법

Pool::submitTo() 함수의 사용법은 다음과 같습니다.

#hostingforum.kr
php

$pool = new SwooleCoroutinePool($size);

$task = $pool->submitTo($workerId, $callback, ...$args);



* `$pool`: coroutine pool 객체
* `$workerId`: 작업을 제출할 워커 ID
* `$callback`: 작업을 처리할 콜백 함수
* `$args`: 콜백 함수에 전달할 인자

예제

다음 예제는 Pool::submitTo() 함수를 사용하여 작업을 제출하고, 결과를 반환하는 방법을 보여줍니다.

#hostingforum.kr
php

use SwooleCoroutinePool;



// coroutine pool 객체 생성

$pool = new Pool(5);



// 작업을 제출할 콜백 함수

function task($num) {

    echo "Worker ID: " . swoole_coroutine_getuid() . "
";

    echo "Task ID: " . $num . "
";

    sleep(1);

    return $num * 2;

}



// 작업을 제출

$task = $pool->submitTo(0, 'task', 1);

$task2 = $pool->submitTo(1, 'task', 2);

$task3 = $pool->submitTo(2, 'task', 3);



// 결과를 출력

echo "Task 1 Result: " . $task->getResult() . "
";

echo "Task 2 Result: " . $task2->getResult() . "
";

echo "Task 3 Result: " . $task3->getResult() . "
";



이 예제에서는 coroutine pool 객체를 생성하고, 작업을 제출하는 콜백 함수를 정의합니다. 작업을 제출한 후, 결과를 출력하는 코드를 추가합니다.

결과

이 예제를 실행한 후, 다음 결과가 출력됩니다.

#hostingforum.kr


Worker ID: 1

Task ID: 1

Worker ID: 2

Task ID: 2

Worker ID: 3

Task ID: 3

Task 1 Result: 2

Task 2 Result: 4

Task 3 Result: 6



이 예제는 Pool::submitTo() 함수를 사용하여 작업을 제출하고, 결과를 반환하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 318 페이지

검색

게시물 검색