The execution units, called tasks, are executed concurrently on one or more worker nodes using multiprocessing, Eventlet or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems to process millions of tasks every hour.
Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks. There's also RCelery  for the Ruby programming language, and a PHP client.