News Feed
Jobs Feed
Sections



Recent Jobs

News Archive
feed this:

/Dev/Hell Podcast:
Episode 5 - The Hammer That Is PHP
February 06, 2012 @ 12:03:42

The /dev/hell podcast has released their latest episode with special guest Brian Moon (of dealnews).

In our fifth episode we speak to our first ever guest Brian Moon, ancient PHP elder of dealnews and someone who has probably forgotten more about PHP than our two hosts will ever know. [...] In this episode we talk about dealnews, how they use PHP (and how they also use it in some interesting ways), and his thoughts on issues like concurrency and evented systems. We also cover features of PHP that allowed for some major changes and approaches they used in the code base for the site.

Other technologies discussed include Gearman, Node.js, Squid and Varnish. You can listen to this latest episode either via the in-page player or by downloading the mp3 directly.

0 comments voice your opinion now!
devhell podcast hammer brianmoon dealnews gearman edfinkler chrishartjes



Ralph Schindler's Blog:
Compiling Gearman (or anything) for Zend Server CE on Snow Leopard
January 09, 2012 @ 10:59:35

Ralph Schindler has a new post to his blog today detailing the process you'll need to compile Gearman (or just about anything) on a Zend Server CE install on Snow Leopard.

Zend Server CE for Mac (as of this writing), comes compiled as an i386 executable only. This includes the PHP binary, php library, and apache binaries that come shipped with ZSCE. While ZSCE works great out the box with all the provided extensions, you might find that you want some additional 3rd party PHP extensions compiled/linked into this stack. That's where things get a little confusing, and in this post, we'll look at how to install the gearman extension.

He give two methods - the easy way where you can export a CFLAGS setting to compile with multiple architectures or the harder way (that works for Gearman), building static libraries. The full list of commands (and some example output) is included in the post. In the comments there's also an example of the install if you're using Macports.

0 comments voice your opinion now!
gearman compile zendserverce snowleopard osx mac tutorial


Matthew Wells' Blog:
Kohana and Gearman - Practical Multitasking
August 30, 2011 @ 11:39:11

Matthew Wells has a new post that looks at combining Kohana and Gearman to create a system to handle large data processing without slowing down the rest of the application.

A commonly identified bottleneck arises when dealing with large, 'expensive' data. This is commonly seen when an application posts a large volume of well structured data to the API (that some process must be carried out upon), before some form of structured receipt is then returned as a request response. [...] Analysing such a request tends to show high PHP CPU usage with lower database consumption. [...] The structured nature of data exchanged via an API means that we can, relatively simply and reliably, divide the submitted data and process it simultaneously with the help of a great tool called Gearman.

He walks you through the entire process including his initial thoughts on what the system should be and how it should behave when the requests are made. He shares the code he used to implement the system - a simple worker that processes part of the request and returns the results. The command-line calls to run the worker manually for testing are also included.

0 comments voice your opinion now!
multitask gearman kohana worker process api request


Dave Marshall' Blog:
Asynchronous cache priming with progress bars via Gearman, Memcache and Dojo
April 04, 2011 @ 10:18:20

Dave Marshall has written up a new post showing how he's used memcache, Gearman and Dojo to create an asynchronous progress bar he uses when generating large reports.

I have a (highly optimised) report that takes way too long to generate, up to around 30 seconds. [There's] too many variables to prime caches for every possible combination [and] personally, I don't think the browsers inbuilt progress bar is enough feedback for todays web users.

He generates the data into memcache when the user requests it and uses the Gearman worker processes to handle requests for data that doesn't yet exist. The progress bar is a part of Dojo and uses the dijit.ProgressBar widget to keep checking the progress of the build. This way the user can even leave the page and come back if the process takes too long with no threat to the generating report. You can find all of his code he's used to make it happen on his github account.

0 comments voice your opinion now!
gearman tutorial memcache dojo progressbar generate report


Gonzalo Ayuso's Blog:
Watermarks in our images with PHP and Gearman
March 07, 2011 @ 12:12:17

Gonzalo Ayuso had previously shown how to dynamically add watermarks to your images with the help of a mod_rewrite rule. One of the side effects of this is that, with a high load on your server, things can get bogged down quite quickly. His alternative? Add the watermarks to your images with Gearman workers.

In this second solution I will use a gearman worker to generate the watermarks. The benefits of gearman is the possibility of use a pool of workers. We can add/remove workers if our application scales. Those workers can be placed even at different hosts, and we can swap easily from one configuration to another.

He includes some sample scripts to illustrate the process - a Gearman client that'll call the watermarking process and a worker that takes in the image and transforms it with GD to add a new layer for the watermark.

0 comments voice your opinion now!
watermark image tutorial gearman worker client


Lorna Mitchell's Blog:
Dealing with MySQL Gone Away in Zend Framework
March 01, 2011 @ 10:03:01

Lorna Mitchell has a (very) quick tip for those using the Zend Framework with a MySQL database. Sometimes the inevitable "MySQL server has gone away" error will pop up - her tip shows you how to deal with it correctly in a long-running application.

The [Gearman] worker is a Zend Framework application, run from the CLI, and it seemed like the Zend_Db_Adapter had no way of knowing when MySQL had let go of its end of the connection. I tried a few different things, including Zend_Db_Adapter::getConnection(), but without success - until I dug through the source code (with some help from a friend) and realised that ZF was not reconnecting at all if it thought it already had a connection.

She ended up putting a connection into a registry and, when the process was done, forcing the connection to close. This made the next worker in the queue forcefully open another new connection rather than having the same one pending for (possibly) days at a time.

0 comments voice your opinion now!
mysql goneaway error zendframework gearman


Lorna Mitchell's Blog:
Using Gearman from PHP
February 16, 2011 @ 09:51:07

Lorna Mitchell has a new post today about using a popular backend processing tool, Gearman, from inside of PHP. Her example gives a full overview of how to add a new job and write the worker for it to make things happen.

Basically, this application generates some PDFs from a variety of data sources, makes images, and emails it. Since the whole data processing, image handling, PDF generation process is fairly heavy, I'm putting the requests to generate these onto a gearman queue and having some workers process the jobs.

You'll need to have the Gearman server and extension installed (sample instructions here for Ubuntu) to use the sample code she gives using the Gearman_Client and GearmanWorker objects to create the pieces of the puzzle. You can find out more about the Gearman PECL extension here.

0 comments voice your opinion now!
gearman tutorial pecl extension worker jobs example


Lorna Mitchell's Blog:
Installing Gearman for PHP and Ubuntu
February 07, 2011 @ 09:39:11

Lorna Mitchell has a (very) quick post on getting Gearman installed for PHP on an Ubuntu linux system - as easy as a few package install calls, really.

I've been using Gearman lately in a project that I'm working on, and of course a month later when I came to deploy the code, I had to look up all over again what was required for a gearman server in order to put it on the new platform. Here is the short version for my future reference (and yours, if you like)

It's an easy two-step process - one to install the Gearman packages (binaries and development) via aptitude and the other using the pecl command to install the gearman-beta package and compile it. All goes well, you should be up and running with Gearman in just a few minutes.

0 comments voice your opinion now!
gearman ubuntu package pecl install tutorial


Ibuildings techPortal:
Doing the Heavy Lifting Gearman and Magento
January 17, 2011 @ 14:09:38

New from the Ibuildings techPortal today, there's a tutorial from Michael Davey looking at using Gearman with Magento to do some of the "heavy lifting" of queuing jobs from inside the tool.

With most web applications, there comes a time where there is a need to perform either CPU or I/O intensive work based on user actions. Whether processing uploaded files, or performing system-wide database updates, developers are increasingly turning to Gearman as a simple way to hand off the heavy lifting to another server to be performed asynchronously.

He's created a basic module that can be downloaded and dropped right into your Magento install to make it work with your Gearman queues. He includes an installation guide and a bit of code on how to make a sample job to run an event and the class sitting on the other side for the worker to use in handling it.

0 comments voice your opinion now!
gearman magento tutorial ecommerce worker


Mike Willbanks' Blog:
Android C2DM with PHP and Zend Framework
November 23, 2010 @ 11:26:33

In this new post to his blog Mike Willbanks shows how to use PHP - more specifically the Zend Framework - to send push notifications to an Andriod device via C2DM.

So you've got a new fancy Android application and you want to be able to send push notifications to the phone. Either for synchronization purposes or for notifications. Since C2DM is fairly new and is currently in the labs it is rather difficult to find code that already handles sending out the notifications correctly. This article will go through sending a push notification (or message) through the Android C2DM server utilizing PHP in the fashion of a Zend Framework component.

His setup uses the Zend Framework for the heavy lifting and Gearman to handle the asynchronous sending of the messages. Of course you'll need a Google and C2DM account to make things play nicely together. The solution also uses a third-party server for the C2DM messaging. Most of the remainder of the post is code ready for copy and pasting that defines C2dm service adapters for the Zend Framework, some exception handlers for common issues, some custom workers for Gearman and the Java code you'll need on the client side to receive the messages.

1 comment voice your opinion now!
andriod tutorial c2dm zendframework gearman google



Community Events





Don't see your event here?
Let us know!


injection phpunit database testing release zendframework2 framework podcast conference language interview introduction zendframework symfony2 unittest application api opinion community voicesoftheelephpant

All content copyright, 2012 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework