Lazarus и консоль - стоит ли?

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

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

Lazarus и консоль - стоит ли?

Сообщение azsx » 12.08.2016 16:52:40

У меня программа, по сути парсит сайты и после всяких обработок записывает всякую ерунду в БД постгрес. Также Читает данные из БД всячески их обрабатывает и снова записывает в БД. Для вывода у меня поле мемо, в него я пишу логи при ловле ошибок и чисто ход работы, чтобы убедиться, что программа не зависла. Пока еще всё только начинается, но влруг я задумался.
А нужен ли мне gui для этих целей?
Какие минусы будут если начать использовать лазарус как консольные приложения?
Какой режим проекта выбрать (программа, простая программа, консольное приложение)?
зы
сам в консоли не писал, любым советам буду рад.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Lazarus и консоль - стоит ли?

Сообщение Лекс Айрин » 12.08.2016 17:43:24

Если только для просмотра и управления. Если чисто демон, то можно и как консольное использовать . Но лучше действительно создать демона (службу). http://freepascal.ru/article/lazarus/20090403120204/
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Lazarus и консоль - стоит ли?

Сообщение alexs » 12.08.2016 17:54:38

Статья немного устарела. Я сейчас даже таймеры не использую в своих демонах. Просто ставлю между итерациями простейший Sleep.
А так - демоны на FPC\Lazarus очень хорошо получается писать. Особенно мне понравилось это дело после перехода в линухе на SystemD. Вообще красота стала.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Lazarus и консоль - стоит ли?

Сообщение Лекс Айрин » 12.08.2016 18:00:08

Тем более.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Lazarus и консоль - стоит ли?

Сообщение azsx » 13.08.2016 00:21:21

а какие преимущества у демона перед консольной программой? Мои программы бывают виснут и ылетают, мне кажется более логичным всё таки запуск в консоли, чтобы можно было увидеть ход работы. Нет?
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Lazarus и консоль - стоит ли?

Сообщение Лекс Айрин » 13.08.2016 09:24:11

azsx, прежде всего, то, что демон написан именно для работы в фоне операционной системы, как (почти) ее часть, а любая консолька это все же отдельная прога требующая открытия отдельного окна. Пусть иногда ты его и не видишь. Да и работа с ней по преимуществу идет в режиме открыл, сделал, закрыл. Ну а насчет вылетов и зависаний... можно ведь и анимацию иконки в трее сделать, текстовый лог и всплывающие сообщения.

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

Так же у консоли в винде есть одна неприятная особенность -- она может внезапно закрыться, если случайно программа завершится... и тогда весь ее выхлоп будет потерян (например, если она запущена не из сеанса консоли, а ярлыком).
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Lazarus и консоль - стоит ли?

Сообщение azsx » 14.08.2016 08:15:53

Раз даже демонах всё хорошо, то в консольной программе всё будет отлично.
оффтопик
Спасибо, почитал внимательно про службы / демоны. Хотя некоторые плюсы для меня очевидны, всё таки это не мой случай. Хотя это не правда, но предположим, что освоить написание консольных программ и написание служб для меня будет одинаковой задачей. Минусы для меня лично.
1. Я не умею нормально программировать многопоточные приложения. Как я начинаю делать потоки, так сразу начинаю жалеть, что продавцом фруктов не пошел, работа проще и интереснее. У меня возникают плавающие ошибки, которые я ищу крайне плохо.
По этой причине я пишу программу линейно и когда надо несколько потоков - просто запускаю несколько программ. Сегодня у меня одновременно запущно 30 гуи программ, по моему мнению на моем пк можно довести до сотни. Ну и в мире есть еще один комп, на нем 30, также можно увеличить.
---
Будет несколько странным запустить на компьютере 100 служб сразу!
---
2. Моя задача нужна целиком для меня, то есть мне проще отследить, что юзер залогинен на винде и никсе и программы работают, чем волноваться, что кто-то разлогинился и все мои программы выключились.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Lazarus и консоль - стоит ли?

Сообщение скалогрыз » 14.08.2016 08:53:49

azsx писал(а):1. Я не умею нормально программировать многопоточные приложения.

:? многопоточность имеет весьма условное отношение к сервисам/демонам.
Скажу больше, что скорей всего, многопоточность тебе будет вредна, вместо неё тебе нужно использовать многопроцессность :D

Разницы между консольными и сервисами, с точки зрения разработчика - нет.
Подразумевается, что консольные программы, могут требовать от пользователя ввод некой информации (чего сервис себе позволить не может). Но считается правильным, что консольная программа, должна исполняться и без участия пользователя.
(Например: в svn-е есть режим "не-интерактив", в котором SVN не будет запрашивать от пользователя подтверждения тех или иных действий, или требовать пароль).

По сути - любая консольная программа должна уметь быть сервисом.
Например - Apache сервер (httpd) - его можно запустить как консольную программу. А можно запустить как и сервис (причём тот же исполняемый файл).

Нужно заметить, что хорошо написанный сервис, должен уметь работать и как консольная программа (даже если он не будет использоваться как консольная). Просто с точки зрения удобства отладки!

Разница между консольнями и сервисами, всплывает на уровне администирования. Где сервисы запускаются системой и обычно имеют права, выше чем простой смертный пользователь, который запустит консольную программу.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Lazarus и консоль - стоит ли?

Сообщение azsx » 14.08.2016 09:20:09

Скажу больше, что скорей всего, многопоточность тебе будет вредна, вместо неё тебе нужно использовать многопроцессность

thread знаю. Многопроцессорность не знаю.
Нужно заметить, что хорошо написанный сервис, должен уметь работать и как консольная программа

я учту это на будущее, но пока написать бы хоть какие-то работающие консольные.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Lazarus и консоль - стоит ли?

Сообщение скалогрыз » 14.08.2016 09:52:51

azsx писал(а):thread знаю. Многопроцессорность не знаю.

это просто. одна программа запускает другую :)
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Lazarus и консоль - стоит ли?

Сообщение azsx » 14.08.2016 09:53:45

я не понимаю.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Lazarus и консоль - стоит ли?

Сообщение vvvch » 14.08.2016 12:40:26

azsx
Извините, что вмешиваюсь в Ваш разговор, но... По моему Вам надо Джеффри РИХТЕРА прочитать "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows" (не всего, а то что касается процессов и потоков) (хотя в книге упор делается на С, но как Windows работает понятно. Конечно Паскаль более "приспособлен" для работы с потоками (класс TTheard), и почти нет возможности лезть в процессы, но суть надо знать) (Найдите время и прочтите, мне после этого стало более понятно. ИМХО)
p.s. скалогрыз имел в виду не "мнегопроцессорность" а "многопроцессность".
Аватара пользователя
vvvch
постоялец
 
Сообщения: 105
Зарегистрирован: 26.04.2013 11:05:39
Откуда: г.Боровичи, Новг. обл.

Re: Lazarus и консоль - стоит ли?

Сообщение azsx » 14.08.2016 17:50:29

vvvch спасибо,скачал. Скажу откровенно я не оСилятор и большой вопрос пойму ли чо там написано. Но попытаюсь!
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru