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

Подскажите, такое вообще возможно: есть длинная задача, по окончании которой

нода закрывается (типа длинного парсера/обработчика). Хочу все console.log отправлять через сокет на другой комп. В начале работы процесса "перехватываю" консоль, поднимаю сокет-клиент и транслирую. Но после окончания задачи, нода "не прерывается" ибо сокет продолжает "удерживать процесс", "слушая входящие"(которых не бывает). Можно ли без команды "остановить сокет" сделать так чтобы весь сокет был "отдельно" от основного процесса? Или чтобы process.on('exit' вызывался даже если он еще работает? Может в независимый поток его отправить? или в чаилд-процесс?

10 ответов

31 просмотр

основная задача просто отправка логов? в гугле как вариант выдаёт npm install console-remote-client. Или именно нужно сокеты?

Andriy-F Автор вопроса
Anton
основная задача просто отправка логов? в гугле как...

Проект пока на стадии "задумки". В идеале хочу в проекты "подключать маленький модуль" на стадии отладки и... все! И ловить результаты на соседнем компе(мониторе) в красивом отладчике. Сокет наладил, кое-как начал отсылать содержимое консоли (предстоит еще повоевать с отправкой того что JSON не упаковывается - функции, сложно-вложенные объекты). Но после "отработки" Нода перестала "выходить" и теперь просто "висит" в конце. Прежде чем двигаться дальше - хочу понять реально ли на сокетах все-таки подобное сделать?

я думаю можно если заморочится. Но надо ли )

Andriy-F Автор вопроса
Anton
я думаю можно если заморочится. Но надо ли )

А почему бы и нет? ))) Есть (текущая) задача ,которая сейчас выводит МНОГО логов. Глаза устают на "рабочем" компе это изучать. Хочу на соседний отправить "маловажное". А заодно понять/придумать как можно "слабосвязанные" задачи запускать. По идее подобное может еще когда не будь пригодится.

От лишних логов есть уровни логов, причём их можно отделять по цветам, префиксам, и транспортам (в винстоне например)

Andriy-F Автор вопроса

Это не "нодовское" решение! ))) Вопрос - именно транслировать "в фоне" не "вредя" ходу выполнения основного проекта. А смотреть через SSH - не решение! Процесс может быть и быстрым и долгим, а каждый раз перезапуске процесса "перезагружать что-то в SSH вручную" - нудотно... Особенно на стадии отладки ("на винде работало, а на линуксе вдруг какие-то проблемы")

Andriy-F Автор вопроса
🅰️nimeCoder
От лишних логов есть уровни логов, причём их можно...

Я хочу большего - вывести Ноде -консоль в БРАУЗЕР! Не в консоль браузера, а на "спец-страницу", где можно и со шрифтами поиграться, и с зумом, и со стилями... и "сложные фильтры" настраивать ))

Andriy F
Это не "нодовское" решение! ))) Вопрос - именно тр...

а можно сразу на линуксе писать))) минус точка отказа

а если сделать так, чтобы stdout был подключён к процессу, который занимается отправкой логов?

Andriy-F Автор вопроса
John Doe
а если сделать так, чтобы stdout был подключён к п...

Думал об этом, но пока не придумал как... Во первых похоже тогда придется создавать целую "отдельную ПРОГРАММУ", к которой придется "подключать". Во вторых она должна быть либо запущена, либо вызываться как чайлд-процесс. Если это чайлд-процесс, то не понятно, что будет при остановке основного процесса (подозреваю что будет "дожидаться" окончания подчиненного - надо тестить), а если "чужой процесс", то не понятно как сделать "мультиосную" связь двух "не связанных" процессов. Поэтому и хочу для начала попробовать сделать максимально "нодовскими" методами, прежде чем переходить "меж-процессорным".

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта