Nov 02, 2013 13:15
Вырисовывается такая ситуация с эрланговскими процессами в flussonic: есть быстрые, есть медленные и это становится достаточно жестким делением.
Медленные процессы могут заблокироваться на дисковое IO, на сетевые обращения или на какие-то долгие операции с ets. Т.е. в любом случае речь идет про один из нескольких вариантов IO, либо про обращение к такому же медленному процессу. Например, воркер процесса vod_file, нарезалка скриншотов или писалка архива - это медленный процессы. Так же обработчик веб-запроса - это тоже медленный процесс.
Быстрые процессы никогда не обращаются к медленным с помощью gen_server:call. Чаще всего это проверка длины очереди сообщений перед посылкой сообщения или более хитрая проверка длины очереди задач.
Некоторые медленные процессы прячутся за менеджером пула, который уже считается быстрым процессом и умеет отдавать тикеты задач другим быстрым процессам.
fp,
erlyvideo,
erlang