Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2017 12:54:10

catexis
Зарегистрирован: 2016-06-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор библиотек для проекта

Доброго времени суток! Решил написать на Python программу, которая работает по клиент-серверному принципу. На сервере запускается приложение, которое выполняем функцию “бэкапера” (архивирует в заданное время указанные файлы, подсчитывает контрольные суммы, выполняет очистку сервера от старых архивов и прочее). Со стороны клиента доступна веб-морда по управлению этой утилитой. Такой формат выбран в связи с тем, что сервер, на котором необходимо запустить приложение, периодически бывает занят коллегами по работе, а проверить работу программы необходимо (проверить статистику, сделать архивы вручную, добавить\удалить папку для ведения архивов).
Для серверной стороны выбрал Bottle. Для веб-морды юзаю framework kube. И всё бы ничего, но когда добрался до планировщика встал в тупик. Само приложение при запуске формирует бесконечный цикл опроса порта, чтобы принимать входящие соединения (использовал встроенный сервер bottle, поскольку это практически разовые запросы и его мощности вполне бы хватило). А мне необходимо чтобы в определённый момент отрабатывали нужные функции, т.е. нужен встроенный планировщик, который следит за временем. Итого имеем два бесконечных цикла. А приложение однопоточное. В силу своей неопытности пока плохо разбираюсь в многопоточных приложениях и не знаю с какой стороны подступиться к этому вопросу.
Вопросы примерно следующие:

  • Следует ли использовать в подобном проекте многопоточность?
    Какой модуль многопоточных приложений для такого проекта будет более актуален? (subprocess, thread, multiproc)
    Стоит ли посмотреть в сторону смены Bottle на Tornado, например?

Офлайн

#2 Июль 14, 2017 14:03:01

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Выбор библиотек для проекта

в tornado есть ioloop и scheduler
https://toster.ru/q/182515
тока зачем делать бэкап на питоне? написать shell-скрипт и запустить в фоне

Отредактировано vic57 (Июль 14, 2017 14:32:28)

Офлайн

#3 Июль 14, 2017 18:57:59

catexis
Зарегистрирован: 2016-06-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор библиотек для проекта

На шеле даже можно свой сервак запустить и реализовать мою задумку. В данном случае меня больше интересует питон именно как способ повысить свой скилл. Спасибо за ссылку, полезная инфа.

Офлайн

#4 Июль 16, 2017 09:49:35

catexis
Зарегистрирован: 2016-06-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор библиотек для проекта

Всё оказалось чуть проще, чем думал. Можно просто распаралелить процессы веб-сервера и планировщика через модуль thread. Спасибо Лутцу

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version