Я работаю над обработкой изображений с помощью PHP, шаги:
Моя проблема:
Я использую Gearman, правильно ли иметь рабочий для imagemagick, другой рабочий для jpegtran и другой рабочий для S3?
Спасибо за помощь
Ваш работник может начать следующий процесс.
class ImagemagickWorker
{
public function imagemagicProcessing (GearmanJob $job)
{
// your image processing code
$gmClient = new GearmanClient();
$gmClient->do('jpegtranProcessing', $workload);
}
}
В случае, если вам нужен более сложный контроль над обработкой, рассмотрите возможность использования задач и определения обратных вызовов.
class ImagemagickTask
{
public function imagemagicProcessing ($workload)
{
// do whatever you need to do
$gmClient = new GearmanClient();
$gmClient->setCompleteCallback (
function (GearmanTask $task) use ($gmClient)
{
// repeat the process
}
);
$gmClient->addTask('imagemagicProcessing', $workload);
$gmClient->runTasks();
}
}
Других решений пока нет …