I know that Celery worker can receive messages in Message Protocol v2 format. And that protocol supports for multiple languages via the lang header:
...
application_headers={
'lang': 'py',
'task': 'proj.tasks.add',
...
}
...
In documentation is written that worker may redirect the message to a worker that supports the language and there is no information about how worker or task can be written for example in Java, PHP etc.