OneScript icon indicating copy to clipboard operation
OneScript copied to clipboard

Обработчик на уровне движка стоп сигнала для запущенного скрипта

Open khorevaa opened this issue 6 years ago • 7 comments

Описание задачи

Корректная обработка завершения процесса oscript (запущенного скрипта) Какую задачу вы смогли бы решить, если бы в 1Script была предлагаемая Вами функциональность? Корректно обрабатывать зависание процессов по таймауту

Пример, Есть скрипт1 запускающий скрипт2 и ожидающий его завершения. В скрипт2 используется запуск 1С Предприятие для каких то действий.

При получении сигнала "Завершить" от скрипта1 в скрипт2 ( ПроцессСкрипт2.Завершить()). Необходимо точно так же завершить работу и с 1С Предприятие

Опишите решение

Метод ПриПолученииКомандыЗавершить - должен вызываться с при получении соответствующей команды из системы

Метод ПриПолученииСигналаСистемы(ИмяСигнала) - для обработки любых сигналов системы

Дополнительная информация

Статья по обработки аналогичной ситуации в golang https://habr.com/ru/post/260661/

/cc @allustin @EvilBeaver @nixel2007 @dmpas - уважаемые мейнтейнеры oscript рассмотрите вопрос

khorevaa avatar Feb 08 '19 11:02 khorevaa

Обработка сигналов штука интересная. Если перекладывать на 1сные рельсы, то это похоже на событие "ОбработкаВнешнегоСобытия" в модуле приложения. но кажется, что здесь хватит ПередЗавершениемРаботы/ПриЗавершенииРаботы в entrypoint у скрипта.

nixel2007 avatar Feb 08 '19 11:02 nixel2007

Я не уверен, что в шарповом процессе вообще есть место под перехват таких сигналов. Покажите мне, плиз, место в C# в которое я мог бы в принципе встроиться для решения этой задачи?

EvilBeaver avatar Feb 08 '19 19:02 EvilBeaver

@EvilBeaver https://gist.github.com/jvshahid/6fb2f91fa7fb1db23599 https://stackoverflow.com/questions/6546509/detect-when-console-application-is-closing-killed https://github.com/aspnet/Hosting/issues/870

Поможет не знаю! Но очень бы хотелось!!

khorevaa avatar Feb 09 '19 06:02 khorevaa

Я был бы признателен за пулреквест или ислледование в этой области. Кроссплатформенность, нативные библиотеки... все кажется непростым в части вывода в продакшен..

EvilBeaver avatar Feb 09 '19 08:02 EvilBeaver

@EvilBeaver ты же помнишь что я сишарп не умею :)

khorevaa avatar Feb 09 '19 13:02 khorevaa

Ну это значит не к тебе обращение, а просто в мир

EvilBeaver avatar Feb 10 '19 13:02 EvilBeaver

@khorevaa есть подстава. Обработчик кнопки вызывается в другом потоке, не в том, в котором работает твой скрипт. И как бы не работает...

EvilBeaver avatar Jul 24 '21 20:07 EvilBeaver