Gearman is a distributed processing platform that allows users to offload tasks like image resizing or file manipulation to worker servers. It supports asynchronous and synchronous requests across languages like PHP, Python, Java and allows for functions to return status updates and send data in chunks. Tasks can be split across multiple workers, aggregated, pipelined and support features like fault tolerance, load balancing and namespaces.
26. Other items of
interest?
• Work status requests.
• Chunked Data.
• Exception Handling.
• Up to 4gig message sizes.
• Threaded server.
• Coalescence (the stealth killer feature)
There is no difference if one of the actors is using one operating system rather than the same one used by the server. Actually, clients can get specific advantage of this architecture, by requesting tasks that are not available in their operating system but can be easily performed in the OS of one of the workers.
Language, the greatest divider in the recent technology, is not an obstacle anymore. Clients can keep coding in the language they are most familiar with, and the workers will use libraries and classes that are only available to specific languages, without need for the clients to be involved with the nitpicks of such complex systems.