HTTP API endpoints in python to specific GenServers in Elixir

I’m trying to understand how these large platforms like Discord or slack handle event transmission and routing from python whixh handle api endpoints to specific genserver (Guild) in elixir.

how is it then routed to specific GenServers (such as those managing guilds or channels) in Elixir? How does Python, for instance, send events in real-time to Elixir processes, especially to specific GenServers?

Any insights on how to achieve this would be greatly appreciated!

Probably they use heavily background jobs with Celery or Dask.

As far as I know, Discord’s backend is written in Elixir and Erlang, but I might be wrong.

i also think they use celery but then a thought came to my mind about, how a celery task reach to certain guild(genserver) in discord?

then i thought about two options,

first, they use one queue per guild and guild subscribe that specific queue but scaling 19 million queue is very problamatic and don’t know how many dm and group dm channels.

second, one queue shared by each guild but then again problem arise how a guild retreive only specific task.

whats your thought?