by Kevin Schroeder | 4:56 pm

I created a super simple SQS to FastCGI broker for a worker queue in PHP

Node.js SQS to FastCGI worker/daemon/background process Welcome to this silly little utility program. It provides an intermediary link between an SQS message queue and a backend FastCGI system. It is very simple. All you

  READ ARTICLE
295 words ()
by Kevin Schroeder | 6:14 pm

Reasons why Redis is a great option for a worker queue in Magento

Alan Kent asked on Twitter What is your personal favorite HA distributed queue technology? RabbitMQ? Kafka? Redis? ActiveMQ? Why? — Alan Kent (@akent99) February 4, 2015 You may know that I am partial to

  READ ARTICLE
357 words ()
by Kevin Schroeder | 4:42 pm

New Zend Server Job Queue Library

This will probably be one of the last posts I do on the Zend Server Job Queue functionality.  From this point on they will probably be less frequent, though I’m sure several posts will

  READ ARTICLE
890 words ()
by Kevin Schroeder | 12:00 am

Implementing asynchronous functionality in Magento

ECommerce is a small thing, right? Nobody’s doing it and it’s so simple that everyone who does it is doing it right. When that Cyber Monday hits, nobody panics; sites stay up, they’re able to handle the load and nobody gets yelled at, right?

OK, maybe 20 years ago.

  READ ARTICLE
1568 words ()
by Kevin Schroeder | 12:00 am

Pre-caching FTW

I just had an epiphany. I’ve talked about pre-caching content before and the benefits thereof before. But this is the first time I realized not only that there are benefits, but that doing it is BETTER than caching inline. Let me sum up… no, there is to much. Let me explain.

Typically caching is done like this (stolen from the ZF caching docs):

  READ ARTICLE
299 words ()
by Kevin Schroeder | 12:00 am

Google Analytics feed handling

So there I was, looking at some other websites out there (because I think my site design sucks. Thanks, me). One of the things that virtually no blogs do is promote specific content. In other words, highlight content that is most popular over a certain time frame. So I was thinking to myself, how would I do that? One option would be to have a database table that could record each click. That, however, is boring and requires changes to my DB schema (evil!). What I want to do is take my most popular pages of the last week and highlight them at the top of the web site.

  READ ARTICLE
923 words ()
by Kevin Schroeder | 12:00 am

Magento-based asynchronous execution

Working with an off-the-shelf shopping cart usually requires a little bit of patience. Scaling an e-commerce site does have its share of problems. There is a LOT of interactivity that needs to be implemented. This can be things along the lines of generating targeted ads, sending email or charging a credit card.

  READ ARTICLE
1191 words ()
by Kevin Schroeder | 12:00 am

Unit Testing Zend Server PHP Job Queue actions

One of the problems with doing asynchronous execution is that it can be actually quite difficult to test those asynchronous jobs. In this video I describe how to implement a testable queuing system.

  READ ARTICLE
96 words ()
by Kevin Schroeder | 12:00 am

Pre-caching PHP content with Zend_Cache_Manager and the Zend Server Job Queue

With the web being what it is today there can be a lot of times when you want to aggregate data from many different sources and bring them together in a single page. I have not done much of that on my site simply because that means that I then need to learn a bunch of different API’s. However, since Youtube is the #2 search engine I figured that it might not be a bad idea to aggregate some of my YouTube content on my page automatically. I don’t necessarily want to do a blog post about each individual video I post, but I wanted there to be some place where I could just list them out.

  READ ARTICLE
1219 words ()
by Kevin Schroeder | 12:00 am

Sharing feedback with Twitter using Bit.ly – Part 2

In our previous installment we looked at setting our backend up so it could automatically retrieve the bit.ly URL for a given URL and store it as part of the data for a given instance of a Content model. What we’re going to do this time is take a look at the front end components.

Sometimes I find that doing things backwards can actually make things a little more clear. That way you can see the end result and then, as you work backwards, see how all the pieces work together.

  READ ARTICLE
1786 words ()