Заявки #129
открытоartem
0%
Описание
А у тебя там процессы живые?
ArtemGodzenko
20 мая 2026 г., 19:24
смотрю
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:24
root@fin.hel.firstbyte.ffmpeg-steams.001.behavioralfactors.ru:# docker exec -ti eb75ed49d69d bash# ps auxwf
root@fin:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 72226 0.6 0.0 4240 3544 pts/1 Ss 16:24 0:00 bash
root 72234 0.0 0.0 5892 2864 pts/1 R+ 16:24 0:00 _ ps auxwf
root 1 0.0 0.0 3976 3008 pts/0 Ss+ May19 0:00 /bin/bash /cmd.sh
root 108 0.0 0.1 12188 7204 pts/0 S+ May19 0:02 sshd: /usr/sbin/sshd -D -p 22322 [listener] 0 of 10-100 startups
root@fin:~#
Не вижу
Так их как то в автостарт может ?
up 20:53,
ArtemGodzenko
20 мая 2026 г., 19:25
ты же этот смотришь? 91.186.210.191
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:25
21 час назад ребут был
root@fin.hel.firstbyte.ffmpeg-steams.001.behavioralfactors.ru:~# curl 2ip.io
91.186.210.191
Да
ArtemGodzenko
20 мая 2026 г., 19:27
да, пустой список процессов возвращается
а почему был рестарт?
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:27
Ложился сегмент в Финке
Ребутались ноды
Может как то автоматизируем старт ?
ArtemGodzenko
20 мая 2026 г., 19:30
если я повторно отправлю команду
./run.sh play filename namespace url
что будет?
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:30
Думаю что запустит плей. Я же скрипт не ковырял.
Ты обычно как запускал?
ArtemGodzenko
20 мая 2026 г., 19:31
вопрос в том, он создаст второй поток или перезапустит первый
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:31
ns у нас все созданы как и были
так потоков то нет с сервера
В процессах же пусто
ArtemGodzenko
20 мая 2026 г., 19:31
сейчас да
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:31
А, ты про автоматизацию ?
ArtemGodzenko
20 мая 2026 г., 19:31
а если будет ложное срабатывание и прилетит команда
да, про перезапуск
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:32
Давай протестим
ПОка потоков нет
Но можно написать и килл всех потоков и старт их с 0
ArtemGodzenko
20 мая 2026 г., 19:32
они сейчас перезапустят
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:32
Если у нас рестарт контейнера, или его старт, или апгрейд
ArtemGodzenko
20 мая 2026 г., 19:33
Давай протестим
не у компа несколько дней
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:33
(
А на "той" стороне как должны их запускать?
Там же вроде в youtube студии, просто прописывается поток ?
ArtemGodzenko
20 мая 2026 г., 19:34
Clipboard - May 20, 2026 6:34 PM.png
(195.01 kB)
запускаются они через нашу админку
из ютюб студии только адрес стрима берется и к нам добавляется
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:34
А через админку может как то просто дергать можно в скрипт ?
ArtemGodzenko
20 мая 2026 г., 19:34
так я так и делаю
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:34
+
ArtemGodzenko
20 мая 2026 г., 19:35
там есть такие команды:
./run.sh play filename namespace url | play stream
./run.sh stop url | stop stream
./run.sh ps | show all ffmpeg processes
./run.sh delete filename | stop stream if run and delete filename
./run.sh namespaces | show namespace ip
./run.sh ls | покажет все что в /root/data
автоматизация перезапуска - это дернуть повторно play если нет процесса
но нужна защита от того, что если с таким url (ютюб rtmp ссылка) уже есть процесс, то игнорировать команду и не запускать дубль
автоматизация перезапуска - это дернуть повторно play если нет процесса
то есть мой скрипт в админке получает список процессов с сервера, не находит нужного, дергает play
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:37
так это с твоей стороны тогда
а чего он не дернул его ?
ArtemGodzenko
20 мая 2026 г., 19:38
сейчас там не прописан перезапуск
так это с твоей стороны тогда
я понимаю, но нужна защита от повторного запуска на стороне сервера
можно для перезапуска сделать другую команду - replay - теми же параметрами
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:39
Оок. Я посмотрю тогда скрипт, если сделать replay(restart) - то там будет логика - есть процесс, стопаем, стартуем. Нет процесса - стартуем.
ArtemGodzenko
20 мая 2026 г., 19:40
защита нужна для того, чтобы, например, если глюкнула сеть и запрос на список процессов вернул ошибку или пустоту, и мой скрипт отправил команду перезапуска, то не запустились дубли
AlexandrPozdnyakov
20.05.2026
Оок. Я посмотрю тогда скрипт, если сделать replay(restart) - то там будет логика - есть процесс, стопаем, стартуем. Нет процесса - стартуем.
ага
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:40
А у тебя там уже будет дергаться либо плей, либо рестарт
ArtemGodzenko
20 мая 2026 г., 19:41
Оок. Я посмотрю тогда скрипт, если сделать replay(restart) - то там будет логика - есть процесс, стопаем, стартуем. Нет процесса - стартуем.
хотя не совсем так. если есть процесс, мы его не трогаем. если нет - стартуем. ютюб не любит обрыва потока и может у себя остановить стрим
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:41
Так тогда не проще play оставит ?
Если плей есть - и есть процесс, не трогаем
Если плей но процесса нет - запускаем
ArtemGodzenko
20 мая 2026 г., 19:41
можно и так
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:41
+
ArtemGodzenko
20 мая 2026 г., 19:41
но надо дописать проверку в плей наличия процесса
AlexandrPozdnyakov
Admin
20 мая 2026 г., 19:42
Т.е. при отправке play команды, мы проверяем наличие процесса
есть - в лог, был плей но процесс есть. нет - запуск.
Хорошо. Я посмотрю скрипт и подправлю