Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$client= new GearmanClient();
$client->addServer($this->gearman['host'], $this->gearman['port']);
foreach($this->filesToConvert as $key => $fileId) {
$result = $client->addTaskBackground("convert", $fileId, null, $key);
}
if(!@$client->runTasks()) {
throw new Zend_Exception("Something went wrong with Gearman");
}
try {
//$argv[1] - тип воркера.
if ($argc == 2) {
$workerName = "App_Model_Worker_" . $argv[1];
$Worker = new $workerName();
$Worker->work();
}
} catch(Exception $e) {
echo $e->getMessage();
}
nohup /usr/bin/php dispatcher.php Converter &
class App_Model_Worker_Converter extends App_Model_Worker_Abstract
{
public function __construct($gearman)
{
parent::__construct($gearman);
$this->addFunction("convert", array($this, "action"));
//Тут еще немного кода
}
public function action($job)
{
$fileId = $job->workload();
$file = $this->_modelFileResponse->getPrepareToConvertFile($fileId);
//Собственно здесь конвертируем.
}
}
Zendframework + ffmpeg + gearman + amazon = Видео encoder сервис