Диплом: Разработка сетевого программного обеспечения на примере ГКУ "Ресурсы Ямала"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
81
final[logid] = True
if exists(logfile):
with open(logfile) as f:
log = f.read()
if exists(errfile):
with open(errfile) as f:
err = int(f.read())
final[logid] = True
context['logs'].extend([{'id': logid, 'log': log.replace('__URL__', url), 'err': err, 'event':
event}])
if all(value is True for value in final.values()):
context['end'] = True
return render(request, 'ups/command_log.html', context)
Помимо просмотра хода выполнения, возможно также отменить
выполняющееся задание.
Программный код функции отмены выполняющегося задания:
keys = argv[1::]
kill = ['kill', '-9']
pids_raw = check_output(['ps', '-eo', 'pid,cmd'])
pid_list = findall('.*starter.py.*', pids_raw)
for key in keys:
logfile = LOG_FILE + key
errfile = ERR_FILE + key
arg = Namespace(key=key, cron=False)
pids = [s.split()[0] for s in pid_list if key in s]
if pids:
kill.extend(pids)
call(kill)
if exists(logfile):
with open(logfile) as f:
log = f.read()
log = log_cutter(log)
log += '\n<b>Отмена...</b>'
regular_log(arg, error, log)
for f in logfile, errfile:
if exists(f):
remove(f)
82
Разработанная ИС содержит большое количество различных функций,
обеспечивающих взаимодействие браузера с серверной частью. В данном разделе
было приведено описание наиболее значимых и часто используемых. Блок-схема
выполнения команд изображена на рисунке 14.
83
Начало
Соединение
установлено ?
Создание лог-
файла
Соединение с
сервером
Выполнение
команды
Ошибка
Запись в
историю
Завершение
sdtout,
stderror
Запись потока
вывода в лог-файл
Выполнение
завершено ?
Да Нет
Да
Нет
Есть права на
запуск ?
Нет
Да
Обработка
параметров
Выбор серверов и команд
(скриптов)
Рисунок 14. Блок схема выполнения команд
84
2.4. Контрольный пример реализации и его описание
В контрольном примере разработанное приложение расположено на сервере
с IP-адресом 192.168.0.13 и ожидает подключений по TCP порту 8000. После
перехода по адресу «http://192.168.0.13:8000/» открывается начальная страница с
предложением войти в учетную запись, либо зарегистрироваться. Также на
странице указано, что новые учетные записи должны активироваться
администратором, иначе пользователь не сможет добавлять проекты и после
успешного входа необходимо перейти по ссылке «Проекты» для дальнейшей
работы. Начальная страница приложения представлена на рисунке 15.
Рисунок 15. Начальная страница работы с приложением
Рассмотрим ситуацию с незарегистрированным пользователем. После
перехода по ссылке «Регистрация» открывается форма регистрации, изображенная
на рисунке 16, в которой необходимо заполнить поля «Имя пользователя»,
«Пароль», «Подтверждения пароля» и нажать на кнопку «Регистрация».
85
Рисунок 16. Форма регистрации пользователя
Во время регистрации пароль проверяется на сложность и может быть
отклонён в следующих случаях:
Пароль слишком короткий (менее 8 символов)
Пароль слишком похож на имя пользователя.
Пароль состоит только из цифр
В случае несоблюдения правил формирования паролей, пользователю выводится
соответствующее информационное сообщение. На рисунке 17 показано сообщение
о слишком коротком пароле.
Рисунок 17. Информационное сообщение о слишком коротком пароле
86
После успешной регистрации пользователь вновь попадает на начальную
страницу приложения, изображенную на рисунке 15, где ему необходимо выбрать
раздел «Проекты» в верхнем меню. Но так как только что созданная учетная запись
еще не была активирована и пользователю не назначены права, перейдя в раздел
проекты, пользователь увидит лишь пустое окно «Список проектов» без
возможности добавить новый проект или посмотреть список существующих. Вид
страницы «Список проектов» для не активированного пользователя изображен на
рисунке 18.
Рисунок 18. Вид страницы «Список проектов» для не активированного
пользователя
После того, как пользователь активирован и наделён соответствующими
правами, на странице выбора проектов появляется ссылка «Добавить новый
проект», перейдя по которой открывается форма создания проекта. На данной
форме необходимо заполнить два поля для ввода – «Название проекта» и
«Описание проекта». Создадим тестовый проект с названием «Test Project» и
произвольным описанием. Форма создания нового проекта показана на рисунке
П3.1.
Создав проект, пользователь попадает на страницу выбора существующих
проектов. Кроме этого ему доступны возможность редактировать и добавлять
новые проекты.
Для наглядности был создан еще один проект «Project 2».
Страница выбора проектов изображена на рисунке 19.
87
Рисунок 19. Страница выбора проекта
Выбрав проект, пользователь попадает на страницу управления. По
умолчанию все подменю раздела команды, кроме «Скрипты» и «Операционная
система» находятся в свернутом состоянии для экономии пространства на экране.
Так как в проект еще не добавлены скрипты и серверы, в соответствующих
разделах присутствуют информационные сообщения «В данный проект еще не
добавлены скрипты» и «В данный проект еще не добавлены серверы». Также в
этих разделах доступна только одна активная кнопка «Добавить». Внешний вид
страницы управления только что созданным проектом представлен на рисунке 20.
Для продолжения работы необходимо наполнить проект серверами. При
нажатии на «Добавить» в разделе «Серверы» появляется форма для ввода данных о
сервере. Заполненная форма добавления сервера показана на рисунке П3.2.
Рисунок 20. Страница управления только что созданным проектом.
88
После того, как сервер был добавлен, осуществляется возврат на страницу
управления проектом. Теперь в разделе серверы появилась кнопка «Выбрать», поле
для фильтрации серверов по имени и небольшая форма для выбора сервера. Все
эти элементы будут рассмотрены далее. Для большей наглядности в проект было
добавлено еще несколько серверов CentOS-DB и RedOS Murom. На рисунке 21
показана страница управления проектом после добавления серверов.
Рисунок 21. Страница управления проектом после добавления серверов
На текущий момент серверами уже можно управлять, используя имеющиеся
команды из раздела «Команды». В качестве примера установим Tomcat на двух
серверах. Для этого выбираем интересующие нас серверы, нажимая на формы с их
именем. При выборе сервера он выделяется зеленым цветом, а список всех
выбранных серверов дублируется вверху, в строке «Выбраны серверы». Снятие
выбора осуществляется повторным нажатием на форму с именем сервера.
Далее, в меню раздела «Команды» выбираем подраздел «Tomcat» и в
выпадающем списке нажимаем на «Установить». Все элементы интерфейса,
которые необходимо выбрать указаны на рисунке 22.
89
Рисунок 22. Выбор серверов и команды
После нажатия «Установить» пользователю необходимо подтвердить свои
действия во всплывающем окне, изображенном на рисунке 23.
Рисунок 23. Окно подтверждения действий
90
После нажатия «ОК» запускается процесс выполнения команды на
удаленных серверах и пользователь переадресовывается на страницу журнала
событий. Журнал событий изображен на рисунке 24.
Рисунок 24. Журнал событий

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран