
GearmanClient::doLow 함수를 사용하여 작업을 요청한 후, 작업의 결과를 받는 방법은 다음과 같습니다.
1. 작업을 요청한 후, 작업의 ID를 얻기 위해 doLow() 함수를 사용합니다.
2. 작업의 ID를 얻은 후, workDoneCallback() 함수를 사용하여 작업의 결과를 받습니다.
3. 작업의 결과를 받을 때, 에러가 발생한 경우를 대비하여 try-catch 블록을 사용하여 에러를 처리합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
cpp
#include
void workDoneCallback(GearmanJob *job, void *data) {
// 작업의 결과를 받은 후, 처리할 코드를 작성합니다.
std::string result = std::string((char*)data);
// 에러가 발생한 경우를 대비하여 try-catch 블록을 사용하여 에러를 처리합니다.
try {
// 작업의 결과를 처리하는 코드를 작성합니다.
} catch (const std::exception& e) {
// 에러를 처리하는 코드를 작성합니다.
}
}
int main() {
// GearmanClient 객체를 생성합니다.
GearmanClient *client = gearman_client_create(NULL, NULL);
// 작업을 요청합니다.
GearmanJob *job = gearman_client_do_low(client, "myworker", "myfunction", NULL, 0, NULL);
// 작업의 ID를 얻습니다.
int job_id = gearman_job_handle(job);
// 작업의 결과를 받습니다.
gearman_client_wait(client, job_id);
// 작업의 결과를 받은 후, 처리할 코드를 작성합니다.
gearman_client_work_done_callback(client, job_id, workDoneCallback);
// 작업을 종료합니다.
gearman_client_free(client);
return 0;
}
이 예제 코드는 GearmanClient::doLow 함수를 사용하여 작업을 요청한 후, 작업의 결과를 받는 방법을 보여줍니다. 작업의 결과를 받을 때, 에러가 발생한 경우를 대비하여 try-catch 블록을 사용하여 에러를 처리합니다.
2025-03-24 21:28