LINUX.ORG.RU

Сообщения vromanov

 

Управление процессами (worker)

Добрый день! Имеем приложение на C/С++. Оно организованно в виде набора воркеров. Сейчас для каждого из них имеется свой сервис и они запускаются по отдельности. Есть идея сделать один мастер процесс, который будети форкать детей. Вопрос: имеются ли библиотеки для работы с воркерами. что бы хотелось 1) Воркер должен мониторить мастера и умирать вместе с ним 2) Мастер должен мониторить детей и если кто-то из них умер - перезапускать 3) Разные виды детей.

Понятно, что все это можно сделать на сигналах итд, но может есть уже что-то стандартное. Не хочется изобретать велосипед.

PS: В идеале, чтобы это было на С, а не на плюсах

 , ,

vromanov
()

SCTP - почему не используется?

Добрый день! Интересно, почему SCTP не находит применения в серверах? Поддерживать его не сложно, а кайфа много. Повышение надежности сети, возможность доcтавлять сообщеня, а не поток, как TCP. С точки зрения разработки вообще ничего делать не нужно, только поменять тип протокола при создании сокета, и заменить вызов send на sctp_sendmsg, аналогично recv

 , ,

vromanov
()

Есть ли что-то вроде POSIX queue но с возможностью итерироваться?

Хочу сделать свою реализацю логирования. Будет как-то так: Етсь чередь. В нее процессы пишут свои сообщения. Есть сервис, который эти сообщения из очереди вынимает и складывает в файлик. Может при этом не писать, например, отладочные сообщения. Тут пока все просто. Далее нужна возможность сделать что-то вроде tail -f -n 1000, но с фильтрами по уровню, источнику сообщений или с поиском подстроки. И тут появлется желание иметь очередь не простую, а что-то вподе циклического буффера, но с возможностью посмотреть уже вынутые сообщения. Или можно по другому: список в котором записи имеют хендлы. По хендлу можно узнать, жива ли еще эта запись. Елси запись ужа удалена из памяти, можно получить самую старую запись

 , , ,

vromanov
()

SPb: C++/C развитие сервера телеметрии

Добрый день! Ищем программиста на развитие сервера телеметрии 100-200 кр

  • SQL (Pg)
  • Time Series DB
  • NoSql
  • Linux
  • C/C++
  • Olgino

cheremushkina@charge.auto

 , ,

vromanov
()

Как прочитать размер сообщений в POSIX queue?

Добрый день! Как прочитать размер сообщений которые уже в очереди? Они есть в файле (QSIZE)

[vromanov@DESKTOP-D9N2KBO dtp]$ cat /dev/mqueue/dtf_rx 
QSIZE:0          NOTIFY:0     SIGNO:0     NOTIFY_PID:0    
А есть ли способ получить эту информацию не разбирая файл?

 , ,

vromanov
()

Альтернатива rrdtool (локальная графана)

Итак, имеем сервер. Сервер собирает кучу статистики о себе. Например, память, загрузка ЦПУ, количество и время обработки запросов итд. Хочется все это оперативно мониторить в виде графиков. Альтернатива: 1) rrdtool. раз в секунду обновляется куча файликов. на хосте поднимаем nginx с rrdtool модулем. Смотрим графики. Проблема - лицензия gpl. не очень с точки зрения производительности и графики не очень модные. 2) Что-то удаленное. Проблема, в том, что сервер может ставится в разных конторах и у всех по разному. А графики хочется смотреть. Да и неплохо бы сделать виртуалку, которую можно выложить на сайте для ознакомления. И чтобы в ней были графики.

Что же хочется: Что-то вроде графаны, но для встраивания прямо на хост. Этакая миниграфана+база данных. Кривых приблизительно 300-500 ожидается. Частота обновления 1 сек. Чтобы все это разорачивалсь вместе с деплоем приложения.

 , ,

vromanov
()

Быстрый лог

Добрый день! Требуется быстро логировать. Очень быстро! Раньше это было сделано так - очередь в разделяемой памяти. Отдельный процесс прямо из памяти пишет в сжатый файл на диске. Ну и утилиты типа tail -f c фильтрацией по уровню, процессу, источнику итд. Теперь думаю, повторять этот код, или есть что-то готовое? systemd-journald медленно :(. Операционка - RHEL7, Centos7.

 , ,

vromanov
()

Свой объект для epoll

Вот есть у меня, предположим, какой-то свой объект в разделяемой памяти. Хочу чтобы при его изменении, я мог сделать какой-нибудь вызов, а другое приложение это поймало при помощи epoll. (точнее libev).

UPD: Процессы разные.

 , ,

vromanov
()

Centos 7.3 (RHEL 7.3) - переключение клавы по Ctrl-Shift

Добрый день! В Gnome 3 есть баг - нет возможности поставить в качестве преключалки клавы Ctrl-Shift. Никто не фиксил проблему?

 ,

vromanov
()

SPB: Embedded Software Engineer

Мы ищем опытного разработчика контроллеров и ПО для автомобильного применения.

Обязанности:

  • разработка автоконтроллеров;
  • разработка встраиваемого железа и ПО для него;
  • отладка и тестирование в лабораторных условиях и на реальных объектах.

Требования:

  • опыт работы с аналогичными задачами – от 3-х лет;
  • знание автомобильных интерфейсов CAN, LIN, и т.д.;
  • знание сред разработки (Eclipse, IAR, CCS, Simulink) и контроля версий (git);
  • микропроцессоры и микроконтроллеры (любые, чем больше, тем лучше);
  • цифровая схемотехника от TTL/CMOS/LVTTL etc до передачи данных (SPI, LVDS, Ethernet etc);
  • аналоговая схемотехника (АЦП, фильтры, ОУ, линии передачи);
  • силовая электроника (MOSFET, IGBT, схемотехника DCDC преобразователей);
  • проектирование многослойных печатных плат, знание возможностей и ограничений технологических процессов производства ПП;
  • сборка и наладка спроектированных устройств (монтаж, мехобработка, дебаг);
  • английский (технический и письменное общение).

Хорошим дополнением будет:

  • знание TMS570;
  • знание SPC5;
  • 3D проектирование.

 , ,

vromanov
()

SPb: Senior Test Engineer

Мы ищем опытного инженера по тестированию для проекта в автомобильной индустрии.

Сам автомобиль также разрабатывается в нашем подразделении в UK.

Требования:

  • Опыт автоматизации процесса тестирования от 3 лет;
  • Опыт регрессионного тестирования;
  • Навыки локализации дефектов в системах из нескольких компонент; Самостоятельность;
  • Английский (технический и письменное общение).

Хорошим дополнением будет:

  • Опыт автоматизации процесса тестирования;
  • Опыт программирования на скриптовых языках;
  • Опыт тестирования протоколов, отличных от HTTP;
  • Знание Matlab, опыт моделирования при помощи Simulink/Stateflow;
  • Опыт проведения нагрузочного тестирования.

Обязанности:

  • Тестирование контроллеров и управляющих систем;
  • Автоматизация процесса тестирования.

Условия:

  • Работа над уникальным для России проектом;
  • Достойная заработная плата по результатам собеседования;
  • Профессиональная слаженная команда, ориентированная на результат;
  • Оформление по ТК РФ + доплата до 100% оклада для больничных и отпусков;
  • Полный пакет ДМС;
  • Компенсация затрат на занятия спортом и/или изучение иностранного языка.

Адрес Санкт-Петербург, Лахтинский проспект, 129б

 , ,

vromanov
()

trevis-ci - как сделать отчеты по UnitTest?

Завел проект на github (https://github.com/vvromanov/digilo_utils) Осваиваю Trevis-CI и coveralls. Удобная штука. Не хватет отчетов по юниттестам (gtest). Хотелось бы графика по количеству тестов, количеству фэйлов итд.

 , , ,

vromanov
()

Многстрочный syslog

Добрый день! Есть ли возможность многострочного атомарного вывода в syslog? Что-то вроде

syslog_start(level);
syslog_message(s1);
syslog_message(s2);
syslog_message(s3);
syslog_message(s4);
for (int i=0;i<10;i++) {
    syslog_message(s[i]);
}
syslog_end();
При этом все сообщения между start & end превращаются в одно сообщение, не разбиваются сообщениями из других потоков итд. Или надо что-то свое городить с накоплением в буфере, а потом выплевывать?

 ,

vromanov
()

C REST Server

На чем сейчас модно делать высокопроизводительные REST сервера для C? раньше делал в виде модуля для NGINX.

UPD: Для слепеньких - язык програмиирования уже выбран - и это С.

 , ,

vromanov
()

SPb: Senior Test Engineer

https://spb.hh.ru/vacancy/20070972 Ищем инженера для тестирования. Подразумевается разработка автоматических тестов.

 , , ,

vromanov
()

SPB: разработчик под микроконтроллеры (STM32, TMS570, SPC5x)

Разработка ПО для контроллеров, разработка самих контроллеров (автомобильная тема)

Требования:

  • опыт работы с аналогичными задачами – от 3-х лет;
  • желательно знание автомобильных интерфейсов CAN, LIN, J1939 итд
  • знание С
  • знание алгоритмов и структур данных
  • знание особеностей MCU stm32f4. Плюсом будет знание tms570
  • знание переферии: SPI, I2C, DMA, PWM etc
  • знание сред разработки (Eclipse, Code Composer Studio, Simulink) и контроля версий (git)
  • микропроцессоры и микроконтроллеры (любые, чем больше, тем лучше)

Обязанности:

  • разработка встраиваемого ПО
  • отладка и тестирование ПО в лабораторных условиях и на реальных объектах;
  • взаимодействие с другими разработчиками в группе (аппаратной и программной частей);

Большим плюсом будет опыт в ISO26262 и MISRA Условия:

  • гарантии по ТК РФ (полностью белая компания);
  • медицинская страховка, корпоративная мобильная связь;
  • офис - п. Ольгино. Прямо напротив платформы
  • Удобный офис
  • Печеньки

Пишите - romanov@charge.auto

 ,

vromanov
()

Spb: Приведение кода в порядок

Есть ли желающие на следующую работу: Надо покрыть юнит-тестами существующий код. Также желательно документировать и причесать его. По мере необходимости добавлять новый функционал. Код - для микроконтроллеров.

 , , ,

vromanov
()

Unit tests для микроконтролеров

Имеем код для микроконтроллеров (stm32f4, tms570). Хочется выполнять юниттесты на самом микроконтроллере. Есть какие-нибудь инструменты? Что-нибудь, что может подергать с большого компа по serial тесты, сгенерировать отчет в стандартном формате итд? Что-то в стиле http://www.ldra.com/en/software-quality-test-tools/group/by-software-life-cyc...

 , ,

vromanov
()

git - игнорировать конфликты при rebase на некоторых файлах

Добрый день! У меня в репизитории лежат автогенеренные файлы. Возможности их оттуда убрать нет, т.к. не у всех установлены снтрументы для генерации. Т.к. они могут генериться с разных компьютеров, то часто возникают конфликты. Есть ли возможность указать, что в таком случае всегда брать какую-либо версию?

 

vromanov
()

Unittest for snprintf etc

Добрый день! А нет ли у кого набора юниттестов для snprintf? Желательно в формате gtest. пришлось писать свою реализацию, хотелсь бы получше покрыть тестами.

 ,

vromanov
()

RSS подписка на новые темы