
GearmanWorker::options를 사용하여 작업을 등록하고 관리할 때, worker_options와 job_options는 서로 다른 목적을 가지고 있습니다.
worker_options는 Worker의 일반 옵션을 지정하는 데 사용됩니다. 예를 들어, Worker의 최대 동시 작업 수, 작업 시간 제한, 작업 실패 시의 동작 등이 포함됩니다.
job_options는 특정 작업의 옵션을 지정하는 데 사용됩니다. 예를 들어, 작업의 우선순위, 작업의 타임아웃 시간, 작업의 결과를 저장할 위치 등이 포함됩니다.
worker_options와 job_options를 동시에 사용할 수 있습니다. GearmanWorker::options 메서드의 첫 번째 인자로 worker_options를 전달하고, 두 번째 인자로 job_options를 전달하여 사용할 수 있습니다.
예를 들어, 다음과 같이 사용할 수 있습니다:
#hostingforum.kr
php
$worker = new GearmanWorker();
$worker->addServer('localhost', 4730);
$worker->addFunction('my_function', 'my_function_handler');
$worker_options = array(
'max_jobs' => 10,
'timeout' => 30
);
$job_options = array(
'priority' => 1,
'timeout' => 60
);
$worker->options($worker_options, $job_options);
$worker->work();
이 예제에서는 Worker의 최대 동시 작업 수를 10으로, 작업 시간 제한을 30초로 지정하고, 특정 작업의 우선순위를 1로, 작업 시간 제한을 60초로 지정합니다.
2025-05-14 17:30