Skip to content

Conversation

@chestozo
Copy link
Contributor

Из-за того, что внутри descript использует cluster невозможно просто так
дебажить:
в debug режиме нода запускает дебаггер, который слушает определённый порт.
Когда мы делаем cluster.fork() новый процесс нодовский запускается тоже в debug и ломиться на тот же порт, а он уже занят.

Кроме того, в debug режиме нужен только один worker процесс (чтобы точно знать, кто обработает запрос).

Суть доработки: пробрасывать в форки флаг дебага и порт для дебага, отличный от master процесса.

Из-за того, что внутри descript использует cluster невозможно просто так
дебажить (потому что в режиме дебаг нужно указать порт для дебага и при
fork() воркеры стартуют в debug режиме и слушают на том же самом порту:
а порт уже занят).
@chestozo
Copy link
Contributor Author

Описал, как дебажить: https://github.com/pasaran/descript/wiki/Howto#node-inspector

@pasaran
Copy link
Owner

pasaran commented Mar 22, 2013

Не, это какой-то треш и содомия.

Я сделал такой коммит ca390f9
Запускаешь так:

descript --cpus 2 -p 2000 ...

Тебе выводится что-то типа:

master 12345
forked 12346

Цепляешь дебаггер куда тебе нужно:

kill -USR1 12346

Все.

Ссылка по теме http://nodejs.org/api/debugger.html#debugger_advanced_usage

@chestozo
Copy link
Contributor Author

Хорошо, сейчас поправлю wiki. Закрываю.

@chestozo chestozo closed this Mar 22, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants