I am going to use CakePHP to build an application that allows users to search for a keyword, ie. milk, and then I would automatically search local online stores for best pricing on milk, ie. walmart, shaws, stop&shop, etc. (Note: this is a hypothetical situation, exemplifying what I need accomplished), and then I would display the results to the user.
I want to take advantage of CakePHP's HttpSocket library to accomplish this instead of cURL.
I will need to have this setup as multi-thread so I can display the results quicker, but for performance's sake, where is the best place to make these call, ie Controller? Basically, I am looking for your insight into the best approach to have something like that work, considering it needs to be multi-thread, and fast.
I have not used CakePHP's HttpSocket library before, but I have looked thru it and tested it quickly and it seems to be very powerful. What is your take on that? Does it compare performance-wise to PHP's cURL?
Your insight is much appreciated.
cURL is faster than any plain php implementation like the CakePHP socket is.
Controller is the wrong place, model or a custom datasource would be the proper place. You can request multiple sites at the same time and wait X seconds until you cancel the requests that have not responded in time. Also I would cache the results so that you don't have to request the price each time.
Depending on how often the prices change it might be a much better idea to just query all your shops one or two times per day or hourly for example using a shell and update the prices in your database.