
GearmanClient::doLow 메소드의 반환값이 0인 이유는 작업이 성공적으로 완료된 후에도 메소드의 반환값이 0인 이유는 GearmanClient::doLow 메소드는 작업의 성공 여부를 나타내는 반환값을 제공하지 않기 때문입니다.
GearmanClient::doLow 메소드는 작업을 요청하고, 작업이 완료될 때까지 대기하는 메소드입니다. 작업이 성공적으로 완료되면, GearmanClient::doLow 메소드는 작업의 반환값을 반환하지 않습니다.
이와 관련하여 해결책으로는 GearmanClient::doLow 메소드 대신 GearmanClient::do 메소드를 사용하는 것이 좋습니다. GearmanClient::do 메소드는 작업의 성공 여부와 반환값을 모두 반환합니다.
또한, 작업의 반환값을 얻기 위해 GearmanClient::doLow 메소드를 사용할 때는, 작업이 완료될 때까지 대기하는 대신, 작업 ID를 반환받고, 이후에 작업의 상태를 확인하여 반환값을 얻을 수 있습니다.
GearmanClient::doLow 메소드의 반환값이 0인 문제를 해결하기 위해, 작업 ID를 반환받고, 이후에 작업의 상태를 확인하여 반환값을 얻는 방법을 사용할 수 있습니다.
예를 들어, 작업 ID를 반환받은 후, 작업의 상태를 확인하기 위해 GearmanClient::status 메소드를 사용할 수 있습니다.
#hostingforum.kr
php
$client = new GearmanClient();
$client->addServer('localhost', 4730);
$job = $client->doLow('my_job', 'my_data');
if ($job->returned_code == GEARMAN_SUCCESS) {
$status = $client->status($job->job_handle);
if ($status->state == GEARMAN_WORKER_STATE_COMPLETED) {
$result = $client->do($job->job_handle);
echo $result->data;
}
}
이러한 방법을 사용하여, 작업의 성공 여부와 반환값을 확인할 수 있습니다.
2025-04-07 00:35