Skip to content
DrozdovDanPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

DAEMON

Данный демон предназначен для периодического исполнения некоторого множества комманд в фоновом режиме.

В частности он способен собирать информацию о работе некоторого множества серверов в csv файлы и затем отображать эту информацию в веб приложении.

Установка

Используйте git clone https://github.com/DrozdovDan/Daemon чтобы установить демона на ваше устройство, затем перейдите в директорию данного демона и используйте команду pip install -r requirements.txt для установления зависимостей. Вам также может потребоваться исполнить команду alias python=python3.

Использование

Чтобы изменить настройки по умолчанию, измените следующие строки в файле daemon.py:

pidfile = os.getcwd() + "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/conf/daemon-naprimer.pid"

apppidfile = os.getcwd() + "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/conf/app-daemon.pid"

commands = os.getcwd() + "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/conf/commands.txt"

stdin = "/dev/null"

stdout = "/dev/null"

stderr = os.getcwd() + "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/conf/stderr.err"

pingappcsv = os.getcwd() + "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/conf/ping.csv"

pinghistsappcsv = os.getcwd() + "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/conf/pinghist.csv"

sleeptime = 10

Запуск

Чтобы запустить демона используйте python daemon.py start.

Остановка

Чтобы остановить демона используйте python daemon.py stop.

Перезапуск

Чтобы перезапустить демона используйте python daemon.py restart.

Запуск веб приложения

Чтобы запустить веб приложение используйте python daemon.py appstart <your server>.

Остановка веб приложения

Чтобы остановить веб приложение используйте python daemon.py appstop.

Перезапуск веб приложения

Чтобы перезапустить веб приложение используйте python daemon.py apprestart <your server>.

Добавление и измение исполняемых комманд

Если вы хотите, чтобы некоторая комманда исполнялась, запишите её в файл ./conf/commands в формате <cmd> <parameter1> <parameter2> ..., в противном случае её в данном файле быть не должно.

Если вы хотите создать новую команду, запишите её код в класс Daemon файла daemon.py в формате:

def cmd(self, parameters):
	#put your code here

Затем добавьте её в класс DaemonCommandsCon того же файла в формате:

def cmd(self, parameters):
	self.__ourdaemon.pingall(parameters)

Pingall

Данная команда используется для получения статуса о работе серверов, указанных по умолчанию в файле ./conf/servers.txt и складирует эту информацию в файле ./response/ping.csv.

Также эта комманда обновляет данную информацию в файле ./conf/ping.csv, используемом веб приложением, при чём она так же рассчитывает, какое количество времени подряд каждый сервер даёт положительный ответ.

Так же она складирует данную информацию в файле ./conf/pinghist.csv, используемом веб приложением, при чём она удаляет все данные, которые старше 60 секунд, где 60 секунд является значением по умолчанию и может быть изменено.

В файле ./conf/commands.txt данная команда должна быть записана в формате pingall <servers file> <response file> <time to delete old data>

Веб приложение

Данное приложение используется для отображения последних результатов комманды pingall, исполняемой демоном, и отрисовки графика данных, которые не старше соответствующего времени. Сервер по умолчанию: localhost:5000

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages