라이브러리

[PHP] GearmanWorker::work - 작업 대기 및 수행




GearmanWorker::work


GearmanWorker::work는 PHP의 GearmanWorker 클래스에서 제공하는 메서드입니다. GearmanWorker는 Gearman 서버와 통신하는 클라이언트 클래스로, 작업을 제출하고 결과를 받을 수 있습니다. GearmanWorker::work는 작업을 처리하는 메서드입니다.

# 사용 방법


GearmanWorker::work를 사용하려면 먼저 GearmanWorker 인스턴스를 생성하고, 작업을 제출해야 합니다. 작업을 제출한 후, GearmanWorker::work를 호출하여 작업을 처리합니다.

# 예제


#hostingforum.kr
php

// GearmanWorker 인스턴스 생성

$worker = new GearmanWorker();



// Gearman 서버 연결

$worker->addServer('localhost', 4730);



// 작업 함수 등록

$worker->addFunction('my_task', 'my_task_function');



// 작업 제출

$worker->doBackground('my_task', 'Hello, World!');



// 작업 처리

$worker->work();



// 작업 결과 출력

echo $worker->getOutput();



# my_task_function 함수


#hostingforum.kr
php

function my_task_function($job) {

    // 작업 처리 로직

    return 'Task completed: ' . $job->workload();

}



# 예제 설명


이 예제에서는 GearmanWorker 인스턴스를 생성하고, Gearman 서버에 연결합니다. 작업 함수 `my_task_function`을 등록하고, 작업을 제출합니다. GearmanWorker::work를 호출하여 작업을 처리하고, 결과를 출력합니다.

# GearmanWorker::work 옵션


GearmanWorker::work에는 여러 옵션이 있습니다.

* `blocking`: 작업을 처리하는 동안 블록킹 여부를 지정합니다. 기본값은 `true`입니다.
* `timeout`: 작업을 처리하는 데 필요한 시간을 지정합니다. 기본값은 `0`입니다.
* `max_jobs`: 처리할 작업의 최대 수를 지정합니다. 기본값은 `0`입니다.

# 예제 (옵션 사용)


#hostingforum.kr
php

// GearmanWorker 인스턴스 생성

$worker = new GearmanWorker();



// Gearman 서버 연결

$worker->addServer('localhost', 4730);



// 작업 함수 등록

$worker->addFunction('my_task', 'my_task_function');



// 작업 제출

$worker->doBackground('my_task', 'Hello, World!');



// 작업 처리 (블록킹, 10초 timeout, 5개 작업까지 처리)

$worker->work(10, 5);



// 작업 결과 출력

echo $worker->getOutput();



# my_task_function 함수 (옵션 사용)


#hostingforum.kr
php

function my_task_function($job) {

    // 작업 처리 로직

    return 'Task completed: ' . $job->workload();

}



# 예제 설명 (옵션 사용)


이 예제에서는 GearmanWorker::work에 옵션을 지정하여 작업을 처리합니다. 블록킹을 `false`로 설정하여 비블록킹 모드로 작업을 처리하고, 10초 timeout을 설정하여 작업을 처리하는 데 필요한 시간을 제한합니다. 최대 5개 작업까지 처리합니다. 결과를 출력합니다.

GearmanWorker::work는 작업을 처리하는 메서드입니다. 작업을 제출하고, 결과를 받을 수 있습니다. 옵션을 사용하여 작업을 처리하는 데 필요한 설정을 지정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색