라이브러리

[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 메소드를 사용하여 작업을 생성하는 방법을 보여줍니다.

#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 파일에서 작업을 처리하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색