170 похожих чатов

Вопрос: как проверить что у канала есть слушатель? - В голову

приходит: держать какой-то атомик
- Посылать канал через другой канал

Но нет 100% уверенности что это всё хорошо

27 ответов

33 просмотра

а вам что, собственно, проверить надо? если писать в канал в select с default - default сработает, если записать не получится. что однозначно означает, что у канала нет слушателя

Daniel Podolsky
а вам что, собственно, проверить надо? если писат...

Мне кажется это хорошо подойдёт для проверки есть ли слушатель который прямо сейчас может прочитать, но не сработает если слушатель есть но сейчас обрабатывает предыдущее сообщение

Daniel Podolsky
а вам что, собственно, проверить надо? если писат...

и - это не сработает с буферизованным каналом

Alexander- Автор вопроса
Daniel Podolsky
а вам что, собственно, проверить надо? если писат...

у меня два разных api для websocket, один из них должен посылать в другой, но если нет подписчиков - кидать ошибку

Daniel Podolsky
а это не слушатель же

Значит я неправильно понял

Alexander- Автор вопроса
Daniel Podolsky
а вам что, собственно, проверить надо? если писат...

всмысле читать? хотя с ходу не понял, потому как надо при записи проверять, надо минуту подумать

Alexander
у меня два разных api для websocket, один из них д...

А для pubsub вы используете каналы, а не какой-нибудь редис?

Alexander- Автор вопроса
Ярослав Коробейников
А для pubsub вы используете каналы, а не какой-ниб...

в текущий момент да. у меня небольшое приложение

Alexander
в текущий момент да. у меня небольшое приложение

Просто... Каким образом у вас может НЕ быть слушателя на канале если всё происходит на уровне одной памяти?

Alexander- Автор вопроса
Ярослав Коробейников
Просто... Каким образом у вас может НЕ быть слушат...

причём тут уровни памяти? т.е. на уровне канала - да, но слушателей может не быть

Alexander
причём тут уровни памяти? т.е. на уровне канала - ...

Вы сначала создаёте канал Начинаете в горутине его слушать, Дальше этот канал передаёте дальше по приложению для тех кто будет туда писать. Слушатель у вас живёт всё время жизни приложения

Ярослав Коробейников
А для pubsub вы используете каналы, а не какой-ниб...

А зачем добавлять задержку в виде раундтрипа до redis?

Alexander- Автор вопроса
Alexander
да, но это если слушатель == канал. А это не так

У вас слушатели появляются и затухают на каналах?

Ярослав Коробейников
Чтобы масштабировать жешь

Что именно масштабировать? И как потом масштабировать redis когда он кончится?

Roman Timofeev
Что именно масштабировать? И как потом масштабиров...

Тобишь масштабировать приложение вам проще без редиса, постгреса и тд? 🙆‍♂️

Alexander- Автор вопроса
Ярослав Коробейников
Чтобы масштабировать жешь

когда стоит такая задача. когда просто два ws связать - надеюсь можно и без редиса

Andrew
редисы можно в кластер

Городить кластер в рамках одной машины?

Andrew
редисы можно в кластер

Кстати, pubsub в redis деградирует по мере увеличения количества нод в кластере. Т.е. кластер медленнее чем 1 нода

Roman Timofeev
Кстати, pubsub в redis деградирует по мере увеличе...

технически можно и на одной машине. там раньше редис больше 1 процессора не умел потреблять, по этому кластер имело смысл городить на одной машине когда оно 100% процессора потребляло. да, если делать кластер то какие-то фишки он резко перестает уметь, но общем случае кластер имеет смысл.

Andrew
технически можно и на одной машине. там раньше ред...

https://redis.com/wp-content/uploads/2018/04/Redis-Day-TLV-2018-Scaling-Redis-PubSub.pdf https://github.com/redis/redis/issues/2672

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта