Size: a a a

2020 April 08

AK

Andrey Konovalov in Modern::Perl
Если десериализатора такого нет - ну, сорри, по таймеру выжигаем задачу калёным железом и пишем в лог
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Konovalov
Может, раскидывать задания десериализаторам через MQ? Т.е. главный процесс ничего не делает, а просто публикует задачи
ну, пока что это второй такой случай за год, хотелось обкостылять не так радикально
источник

VG

Vadim Goncharov in Modern::Perl
basiliscos
так не читай дальше их этого сокета?
а как, если мы продолжим крутиться на любом кондваре?
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
ну, пока что это второй такой случай за год, хотелось обкостылять не так радикально
Зато ж паттерн отработаешь, а дальше переиспользуешь многократно
источник

VG

Vadim Goncharov in Modern::Perl
собственно, нужда в другом процессе только затем, что десериализуем мы в набор классов, и загрузить набор классов того же нэймспэйса тоже в основной процесс как-то затруднительно :)
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Konovalov
Зато ж паттерн отработаешь, а дальше переиспользуешь многократно
это клиентское приложение для (в идеале) конечного пользователя, как-то оверкилл штоль :)
источник

b

basiliscos in Modern::Perl
Vadim Goncharov
а как, если мы продолжим крутиться на любом кондваре?
по идее ты ж $handle->push_read должен делать, чтобы новые данные подкачать. Не делай, пока не удостоверишься, что они тебе действительно нужны.
источник

VG

Vadim Goncharov in Modern::Perl
basiliscos
по идее ты ж $handle->push_read должен делать, чтобы новые данные подкачать. Не делай, пока не удостоверишься, что они тебе действительно нужны.
да? в этом коде вообще нет push_read :)
источник

AP

Anton Petrusevich in Modern::Perl
> предполагается вместо warn/die в этом месте воткнуть RPC-вызов в специально поднимаемые соседние процессы с другими версиями схемы

для телеграмма что ли? :)
источник

VG

Vadim Goncharov in Modern::Perl
как ты догадался?!
источник

AP

Anton Petrusevich in Modern::Perl
Vadim Goncharov
как ты догадался?!
хабрастатью помню
источник

b

basiliscos in Modern::Perl
Vadim Goncharov
да? в этом коде вообще нет push_read :)
ну я ж не знаю что там у тебя за код. Обычно из сокета явным образом просят. А как ты вообще читаешь из сокета с помощью AE?
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
это клиентское приложение для (в идеале) конечного пользователя, как-то оверкилл штоль :)
Можно лайток ZMQ. Плюс ещё в параллельной обработке . Можно один тип сериализации несколькими процессами молоть, чтобы ядра получше нагружать
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Можно лайток ZMQ. Плюс ещё в параллельной обработке . Можно один тип сериализации несколькими процессами молоть, чтобы ядра получше нагружать
ты мастер побредить
источник

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
ты мастер побредить
А чего?
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
А чего?
ты задачу понимаешь?
источник

VG

Vadim Goncharov in Modern::Perl
basiliscos
ну я ж не знаю что там у тебя за код. Обычно из сокета явным образом просят. А как ты вообще читаешь из сокета с помощью AE?
ну там в new() класса делается
$aeh->on_read( $self->_get_read_cb )

внутри этого cb делаются unshift_read в зависимости от текущего состояния
источник

AK

Andrey Konovalov in Modern::Perl
В рамках того, что сформулировано вроде да
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
В рамках того, что сформулировано вроде да
нет. схема данных может оказаться не совместимой с той, что крутится в процессе
источник

AP

Anton Petrusevich in Modern::Perl
но это крайне маловероятно
источник