
GearmanClient::doBackground 메서드는 작업을 배치하고 작업 ID를 반환합니다. 작업 ID를 사용하여 작업의 상태를 확인하거나 작업의 결과를 가져올 수 있습니다.
작업의 결과를 가져올 수 있는 방법은 두 가지가 있습니다.
1. `getOutput()` 메서드를 사용하여 작업의 결과를 문자열로 가져올 수 있습니다. 이 메서드는 작업이 완료되면 자동으로 호출됩니다.
2. `getStatus()` 메서드를 사용하여 작업의 상태를 확인할 수 있습니다. 작업이 완료되면 `STATUS_SUCCESS` 상태가 반환됩니다.
3. `getTask()` 메서드를 사용하여 작업의 결과를 객체로 가져올 수 있습니다. 이 메서드는 작업이 완료되면 자동으로 호출됩니다.
작업의 결과를 가져올 때는 `doBackground()` 메서드 호출 후에 `getOutput()` 또는 `getTask()` 메서드를 호출하여 결과를 가져올 수 있습니다.
예를 들어, 다음과 같이 작업을 배치하고 결과를 가져올 수 있습니다.
#hostingforum.kr
php
$client = new GearmanClient();
$client->addServer('localhost', 4730);
$jobHandle = $client->doBackground('my_task', 'arg1', 'arg2');
// 작업이 완료되면 결과를 가져옵니다.
$result = $client->getOutput($jobHandle);
echo $result . "n";
// 또는
$task = $client->getTask($jobHandle);
echo $task->result . "n";
GearmanClient::doBackground 메서드는 비동기적으로 작업을 배치하므로, 작업이 완료되기까지 기다리지 않고 다른 작업을 처리할 수 있습니다.
2025-03-19 21:58