Denis
Допустим заббикс умеет, но вы же опять скажете, что он - говно
да, нельзя в заббиксе динамически. либо дискавери либо я хз.
Daniel
Все - процессы
С одной стороны - спасибо, кэп. С другой - ну херня же
Denis
да и гемор там будет с lost resources
Denis
тоесть типа мне нада за последние сутки вывести графк. там будет куча говна, с ноликами.
Oleksandr
ну в лискавери не обязательно всё пихать :)
Oleksandr
можно топ 5 распарсить
Oleksandr
хотя они же меняться будут, да
Denis
топ 5 на текущий момент времени
Denis
вот вот
Oleksandr
да, я понял
Roman
С одной стороны - спасибо, кэп. С другой - ну херня же
Ну отдельный вопрос, что треды нужны только тем кто программировать не умеет
Daniel
Ну ведь правда, это все про clone(2)
Но поведение-то существенно другое, правда?
Roman
эт вы серьезно ? ))
Да :) появление тредов в программе создает проблем больше чем решает
Oleksandr
топ 5 на текущий момент времени
можно кстати по cgroup слайсам распихать и их мониторить :)
Oleksandr
почему?
Roman
А это - сектантство
Дедлоки, лайвлоки, повреждения памяти, невозможность корректно прибить тред.
даня
Лайвлоки, ничего себе, даже слова такого не встречал
Roman
Лайвлоки, ничего себе, даже слова такого не встречал
На Википедии в статье про дедлок есть описание лайвлока
Denis
Почему я ни с чем из этого не сталкиваюсь, а?
потому что вы пишите на го ? )))
Daniel
Ну и для jvm
Roman
Почему я ни с чем из этого не сталкиваюсь, а?
Ну я спрошу простое: вот тред запущенный я хочу убить.
Daniel
Зачем?
даня
Может пользователь захотел приостановить работу или вовсе закрыть программу.
Roman
Зачем?
Допустим, код в треде сошел с ума/зациклился/мы хотим горячую замену кода
Daniel
Для этого не надо убивать тред, для этого надо научить его завершаться
Roman
Для этого не надо убивать тред, для этого надо научить его завершаться
Ну как ты научишь завершаться то что неуправляемо?
Daniel
Это я это неуправляемо написал? Сдайте меня в дурку тогда...
Roman
Это я это неуправляемо написал? Сдайте меня в дурку тогда...
Ок, чтобы быть ближе к реальности: вот нам льется где-то 1тб всяких разных файлов и на первоначальном этапе надо определить тип файла. Для этого есть libmagic и он хорошо работает, но на некоторых файлах его клинит и он может жевать файл несколько часов.
Daniel
Давайте его попатчим, чтобы он научился прерываться?
Roman
Давайте его попатчим, чтобы он научился прерываться?
Ну допустим, мы его попатчили. А ресурсы возвращать кто будет?
Roman
Память и дескрипторы
Daniel
А мы на каком языке пишем?
Daniel
А либмеджик на каком написан?
Daniel
Точно не перл
Daniel
А с явой - надо смотреть, что там какие ресурсы выделяет, и как
Daniel
Может оказаться проще этот либмеджик отдельным процессом запускать
Roman
Точно не перл
Вот у нас - перл
Daniel
Тогда у вас нет тредов
Roman
И мы правда просто пускаем это в пуле воркеров-камикадзе
Roman
Тогда у вас нет тредов
А зачем, если есть процессы?
Daniel
В смысле - В чем разница между тредом и процессом?
Daniel
Перловый. Перл говно
Svyat
и да начнется Холиварэ)
Александр
Ява говно
Александр
Вот и спора нет
Dmitrii
Все ваши холивары говно, по сравнению с тредами про PHP )
Daniel
Ява говно
Jvm, в смысле? Обоснуйте
Dan
1. Threads are easier to create than processes since they don't require a separate address space.
Dan
2. Multithreading requires careful programming since threads share data strucures that should only be modified by one thread at a time. Unlike threads, processes don't share the same address space.
Dan
3. Threads are considered lightweight because they use far less resources than processes.
Dan
4. Processes are independent of each other. Threads, since they share the same address space are interdependent, so caution must be taken so that different threads don't step on each other. This is really another way of stating #2 above.
Dan
5. A process can consist of multiple threads.
Dan
у меня всё
Daniel
Рома в курсе, я тоже :)
Dan
я на всякий случай )))))
Dan
вдруг кто не знал 😱
Roman
Рома в курсе, я тоже :)
ну как бы да, я в курсе :)
Dmitrii
Все такие типа эксперты.
Dmitrii
Померились, теперь можно дальше идти пива пить )
Roman
попатчить libmagic можно было, но это надо будет ей подменять malloc/free и отслеживать вызовы.
Roman
а с процессами проще: можно между ними передавать fd вместе с состоянием и т.о. делать апгрейд кода
Nick
Простите за ссылку на хабр, но я прочитал там что-тот душераздирающее. https://m.habrahabr.ru/post/283548/
Александр
Атмосфера так себе там
Nick
m. в начале убрал бы, было бы ок. А почему Хабр не любишь?
мне кажется, это не мне стоит m в начале убирать, а ТМ перестать делать отдельный домен для мобильных устройств в 2016 году
Ilia
Из 500 человек "девопсов" нет никого из ТМ?
Nick
да я знаю к кому там обратиться, но они и сами все знают про свои мобильные версии
Denis
Кстати, какова мотивация делать мобильную версию сайта на поддомене m?
Ilia
Это серьёзный вопрос?