라이브러리
[PHP] GearmanTask::create - 작업 생성(더 이상 사용되지 않음)
GearmanTask::create는 GearmanTask 클래스의 메소드로, GearmanJob의 인스턴스를 생성하는 역할을 합니다. GearmanJob은 작업을 처리하기 위한 클래스로, 작업을 생성하고, 작업을 처리하는 worker에게 전달하는 역할을 합니다.
GearmanTask::create 메소드 설명
GearmanTask::create 메소드는 다음과 같은 파라미터를 받을 수 있습니다.
* `$functionName`: 작업을 처리할 함수 이름
* `$data`: 작업에 필요한 데이터
* `$unique`: 작업을 식별하기 위한 고유 번호
* `$created`: 작업이 생성된 시간
* `$completed`: 작업이 완료된 시간
* `$workload`: 작업을 처리하는 worker의 로드
GearmanTask::create 메소드는 다음과 같은 작업을 수행합니다.
1. `$functionName` 파라미터를 기반으로 작업을 처리할 함수를 찾습니다.
2. `$data` 파라미터를 기반으로 작업에 필요한 데이터를 설정합니다.
3. `$unique` 파라미터를 기반으로 작업을 식별하기 위한 고유 번호를 설정합니다.
4. `$created` 파라미터를 기반으로 작업이 생성된 시간을 설정합니다.
5. `$completed` 파라미터를 기반으로 작업이 완료된 시간을 설정합니다.
6. `$workload` 파라미터를 기반으로 작업을 처리하는 worker의 로드를 설정합니다.
예제
다음 예제는 GearmanTask::create 메소드를 사용하여 작업을 생성하는 방법을 보여줍니다.
worker.php
다음 예제는 worker.php 파일에서 작업을 처리하는 방법을 보여줍니다.
my_function.php
다음 예제는 my_function.php 파일에서 작업을 처리하는 방법을 보여줍니다.
결론
GearmanTask::create 메소드는 GearmanJob의 인스턴스를 생성하는 역할을 합니다. 작업을 처리하기 위한 클래스로, 작업을 생성하고, 작업을 처리하는 worker에게 전달하는 역할을 합니다. worker.php 파일에서 작업을 처리하는 방법을 보여주고, my_function.php 파일에서 작업을 처리하는 방법을 보여줍니다.
GearmanTask::create 메소드 설명
GearmanTask::create 메소드는 다음과 같은 파라미터를 받을 수 있습니다.
* `$functionName`: 작업을 처리할 함수 이름
* `$data`: 작업에 필요한 데이터
* `$unique`: 작업을 식별하기 위한 고유 번호
* `$created`: 작업이 생성된 시간
* `$completed`: 작업이 완료된 시간
* `$workload`: 작업을 처리하는 worker의 로드
GearmanTask::create 메소드는 다음과 같은 작업을 수행합니다.
1. `$functionName` 파라미터를 기반으로 작업을 처리할 함수를 찾습니다.
2. `$data` 파라미터를 기반으로 작업에 필요한 데이터를 설정합니다.
3. `$unique` 파라미터를 기반으로 작업을 식별하기 위한 고유 번호를 설정합니다.
4. `$created` 파라미터를 기반으로 작업이 생성된 시간을 설정합니다.
5. `$completed` 파라미터를 기반으로 작업이 완료된 시간을 설정합니다.
6. `$workload` 파라미터를 기반으로 작업을 처리하는 worker의 로드를 설정합니다.
예제
다음 예제는 GearmanTask::create 메소드를 사용하여 작업을 생성하는 방법을 보여줍니다.
#hostingforum.kr
php
use GearmanClient;
use GearmanTask;
// GearmanClient 인스턴스 생성
$client = new GearmanClient();
// 작업을 처리할 함수 이름
$functionName = 'my_function';
// 작업에 필요한 데이터
$data = array('name' => 'John', 'age' => 30);
// 작업을 식별하기 위한 고유 번호
$unique = uniqid();
// 작업이 생성된 시간
$created = time();
// 작업이 완료된 시간
$completed = 0;
// 작업을 처리하는 worker의 로드
$workload = 0;
// GearmanTask 인스턴스 생성
$task = GearmanTask::create($functionName, $data, $unique, $created, $completed, $workload);
// 작업을 제출합니다.
$client->doBackground($task);
worker.php
다음 예제는 worker.php 파일에서 작업을 처리하는 방법을 보여줍니다.
#hostingforum.kr
php
use GearmanWorker;
// GearmanWorker 인스턴스 생성
$worker = new GearmanWorker();
// worker.php 파일의 경로
$worker->addServer('localhost', 4730);
// worker.php 파일의 이름
$worker->addFunction('my_function', 'my_function');
// worker.php 파일의 루프
while ($worker->work()) {
// 작업이 완료되면, 작업의 결과를 출력합니다.
echo $worker->job()->data() . "
";
}
my_function.php
다음 예제는 my_function.php 파일에서 작업을 처리하는 방법을 보여줍니다.
#hostingforum.kr
php
function my_function($job) {
// 작업에 필요한 데이터를 가져옵니다.
$data = $job->data();
// 작업을 처리합니다.
$result = 'Hello, ' . $data['name'] . '!';
// 작업의 결과를 반환합니다.
return $result;
}
결론
GearmanTask::create 메소드는 GearmanJob의 인스턴스를 생성하는 역할을 합니다. 작업을 처리하기 위한 클래스로, 작업을 생성하고, 작업을 처리하는 worker에게 전달하는 역할을 합니다. worker.php 파일에서 작업을 처리하는 방법을 보여주고, my_function.php 파일에서 작업을 처리하는 방법을 보여줍니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.