Несколько служб в одном файле. Неудачный опыт.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Несколько служб в одном файле. Неудачный опыт.

Сообщение jsa » 18.07.2023 09:34:37

Попробовал сделать в одном проекте две службы windows.

1. Компилируется запускается единым процессом ( sc queryex {имяслужбы} один PID на двоих)
2. Вторая служба работает, в чем-то например можно напрямую в файл что-нибудь записать, к базе MSSQL обратиться.

на этом все.
Теперь проблемы (одинаково воспроизводятся в службе скомпилированной на 2.0.8 и 2.2.6)

1. при использовании метода OnExecute он отрабатывается и процесс виснет.
2. руками созданный поток не стартует при этом исключение не возникает.
3. Запуск счетчика Timer во второй службе останавливает таймеры в первой.

В общем опыт не удачный.
Придется делать по отдельности.
jsa
постоялец
 
Сообщения: 261
Зарегистрирован: 28.11.2017 13:46:04

Re: Несколько служб в одном файле. Неудачный опыт.

Сообщение alexs » 26.07.2023 15:42:46

Странно. У меня норм работает
Из замечаний - лучше не использовать таймеры в службах. через отдельный процесс можно реализовать.
Ещё могут быть проблемы с записью логов в текстовый файл - но это вообще для многопоточных приложений общее.

А вообще - такие вещи удобнее в линухе делать. Я долго не мог понять почему у меня одна служба в винде зависала гарантированно через неделю работы. А проблема оказалась в том что винда (на тот момент 2003) не любит запускать часто (10-20 раз в секунду) мелкие консольные приложения (опрос флагов и датчиков).
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 136

Рейтинг@Mail.ru