gearman bundle, warszawa 2013 edition
DESCRIPTION
TRANSCRIPT
![Page 1: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/1.jpg)
GearmanBundleSymfonyCon Warsaw Edition
![Page 2: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/2.jpg)
Bafactory, Barcelona
@Mmoreram
![Page 3: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/3.jpg)
GearmanBundleProviding Gearman support on your SF2 projects
![Page 4: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/4.jpg)
<?php namespace Acme\AcmeBundle\Workers; !/** * My simple Acme Class */ class AcmeClass { /** * My simple acme class method */ public function action() { ! } }
![Page 5: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/5.jpg)
<?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 } }
![Page 6: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/6.jpg)
$ php app/console gearman:workers:list ! @Worker: Acme\AcmeBundle\Workers\AcmeClass callablename: myworker Jobs: - #1 name: action callablename: myworker~action
![Page 7: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/7.jpg)
$ php app/console gearman:worker:execute myworker
![Page 8: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/8.jpg)
Supervisord
WorkerWorkerWorkerWorkerWorkerWorker
![Page 9: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/9.jpg)
$this ->getContainer() ->get(‘gearman') ->doJob(‘myworker’, ‘value’);
![Page 10: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/10.jpg)
<?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(); } }
![Page 11: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/11.jpg)
–Concept invented by me, like a boss…
Dependencies? WAAS
(Worker as a service)
![Page 12: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/12.jpg)
<?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(); } }
![Page 13: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/13.jpg)
<?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(); } }
![Page 14: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/14.jpg)
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
![Page 15: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/15.jpg)
And that you use GearmanBundle :)
I encourage you to use Queues
![Page 16: Gearman bundle, Warszawa 2013 edition](https://reader033.vdocuments.us/reader033/viewer/2022052504/54b44b8f4a7959132e8b45ce/html5/thumbnails/16.jpg)
Moltes Gràcies, Thanks!