- Posted on
- Comments 0
Laravel4 Queue with Gearman
Hi all , this article about Laravel4 Queue component.
Before, start reading this article please check these pages and get basic knowledge about it.
- Laravel 4.2 Queue Documentation
- What’s main idea of Queue system and why do we need this?
- What is Gearman Job Server?
If you are interested in Laravel 4 Queue component , you’ll have good options for Job Server like;
These are supported in Laravel Default Framework..
What should I pay attention while choosing Job Server Platform?
- Most important thing is your volume. How many job will handle with this server ?
- How much time is going to be completed for standart one task?
- Do you need cross-platform integration in your application ? Like Php based system and Java Based Compression Tool etc..
If you have only hardware(not enough CPU , RAM) problems , I suggest you to buy a service from Amazon or IronMQ.
or If you just need quickness and velocity for visitors. You’ve to deal with local solutions. Redis , IronMQ etc..
As you know , Sometimes its not possible solve everyting with one language and you’d need Hybrid solutions. Then we are talking about Gearman
Just select your language..
Gearman Support Famous Languages
Please check this site for documentation and more indormation
- PHP
- Mysql
- Java
- Go
- C#
- Node.js
- …
It’s not complicated to develop Hybrid Solutions with Gearman.
Setup Gearman into Server
-
apt-get install gearman-job-server gearmand -d
For other Operating Systems check this page.
Gearman Integration with Laravel Queue
This bundle is very easy to integrate Gearman with Laravel : Github Link
Thanks for useful github project.
If you succesfully added Gearman bundle into your project , Now you can check queue list by laravel command line.
-
php artisan queue:listen
Do not forget to Setup Gearman Monitoring UI
-
git clone git://github.com/gaspaio/gearmanui.git gearman-ui
-
cd gearman-ui composer install
-
cp app/config/gearmanui.yml.dist app/config/gearmanui.yml
Project : This opensource project definetily monitoring basic info about Gearman Server. That’s exactly what I need. You can find more specific monitors if you need it.
What about Laravel Queue Trick
I love default routing for Fail or Exceptions. It’s very necesary in real-time actions.
-
php artisan queue:failed-table php artisan migrate
Let say you are using Local Solution as a Job Server and it Crashed. We’ve to handle this kind of situations. Laravel doing this for you just add the above part. Laravel save failed jobs into Mysql->’failed-table’ That’s it..
-
Queue::failing(function($connection, $job, $data) { //OMG My Server Crashed or Something wrong send me an email right now!!! });
With this routing we’ll be able to in touch our Job Server.
Muharrem Tığdemir