Спасибо за разъяснение насчет Job и Task!
А как быть с последующим отслеживанием заданий?
В тестовом коде я ставлю задачу так:
$handle = $client->doBackground($task['name'], serialize( $task['workload'] ), $task['id']);
И вот я имею handle в виде строки и заранее определенный id (скажем, md5 от task[name]+task[workload] );
И то и то — строка.
Я запускаю скрипт client.php с этим кодом, он помещает задание в gearman и завершается. Тестовый воркер-демон получает задание и делает его (некая фейковая нагрузка в цикле от 0 до 10000 + слипы, в общем секунд 20-30, как захочу).
Клиентский же скрипт, если запущу его еще раз, пытается поместить ту же задачу, и если она еще в процессе выполнения — возвращается тот же handle, и корректный статус выполнения (x/y, которые я также регулярно в воркере обновляю). Как только задание воркером выполнено, клиентский скрипт помещает новую, точно такую же задачу.
Есть ли стандартный способ из клиентского скрипта посмотреть, что сейчас происходит с данной задачей, не запуская ее на выполнение вновь. если она выполнена?
В общем, автотрассировки я так и не сделал себе, пришлось довольствоваться вызовами xdebug_start_trace() / xdebug_stop_trace() в коде :) Благо, настройки трассировки брались из .htaccess — и на том спасибо
Ну конечно папка существует, и имеет все права…
В php.ini засовывать это блил ваще… попробую чуть позже, ради теста, но даже если получится — оставлять там я точно не буду, мне не на всех проектах нужно это
Да, этот инцидент будет толчком к тому, что я все же сменю свои пароли и систему парольную. Смотрю в сторону генераторов на основе мастер-пароля + урл сайта, где я регистрируюсь.
А как быть с последующим отслеживанием заданий?
В тестовом коде я ставлю задачу так:
$handle = $client->doBackground($task['name'], serialize( $task['workload'] ), $task['id']);
И вот я имею handle в виде строки и заранее определенный id (скажем, md5 от task[name]+task[workload] );
И то и то — строка.
Я запускаю скрипт client.php с этим кодом, он помещает задание в gearman и завершается. Тестовый воркер-демон получает задание и делает его (некая фейковая нагрузка в цикле от 0 до 10000 + слипы, в общем секунд 20-30, как захочу).
Клиентский же скрипт, если запущу его еще раз, пытается поместить ту же задачу, и если она еще в процессе выполнения — возвращается тот же handle, и корректный статус выполнения (x/y, которые я также регулярно в воркере обновляю). Как только задание воркером выполнено, клиентский скрипт помещает новую, точно такую же задачу.
Есть ли стандартный способ из клиентского скрипта посмотреть, что сейчас происходит с данной задачей, не запуская ее на выполнение вновь. если она выполнена?