gearman bundle, warszawa 2013 edition
DESCRIPTION
TRANSCRIPT
GearmanBundleSymfonyCon Warsaw Edition
Bafactory, Barcelona
@Mmoreram
GearmanBundleProviding Gearman support on your SF2 projects
<?php namespace Acme\AcmeBundle\Workers; !/** * My simple Acme Class */ class AcmeClass { /** * My simple acme class method */ public function action() { ! } }
<?php namespace Acme\AcmeBundle\Workers; !use Mmoreram\GearmanBundle\Driver\Gearman; !/** * @Gearman\Work(name=“myworker”) */ class AcmeClass { /** * @Gearman\Job */ public function action(\GearmanJob $job) { // Do some stuff } }
$ php app/console gearman:workers:list ! @Worker: Acme\AcmeBundle\Workers\AcmeClass callablename: myworker Jobs: - #1 name: action callablename: myworker~action
$ php app/console gearman:worker:execute myworker
Supervisord
WorkerWorkerWorkerWorkerWorkerWorker
$this ->getContainer() ->get(‘gearman') ->doJob(‘myworker’, ‘value’);
<?php namespace Acme\AcmeBundle\Workers; !use Mmoreram\GearmanBundle\Driver\Gearman; !/** * @Gearman\Work(name=“myworker”) */ class AcmeClass { /** * @Gearman\Job */ public function action(\GearmanJob $job) { $workload = $job->workload(); } }
–Concept invented by me, like a boss…
Dependencies? WAAS
(Worker as a service)
<?php namespace Acme\AcmeBundle\Workers; !use Mmoreram\GearmanBundle\Driver\Gearman; !/** * @Gearman\Work(name=“myworker”, service=“worker.myworker”) */ class AcmeClass { /** * @Gearman\Job */ public function action(\GearmanJob $job) { $workload = $job->workload(); } }
<?php namespace Acme\AcmeBundle\Workers; !use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Mmoreram\GearmanBundle\Driver\Gearman; !/** * @Gearman\Work(name=“myworker”, service=“worker.myworker”) */ class AcmeClass instanceof ContainerAwareInterface { /** * @Gearman\Job */ public function action(\GearmanJob $job) { $workload = $job->workload(); } }
What else?
Many features available for developers
Improving day by day all code, adding features and resolving issues
50 daily downloads ( Not as popular as Symfony packages… )
Platinum medal on SensioLabs Insight
And that you use GearmanBundle :)
I encourage you to use Queues
Moltes Gràcies, Thanks!