Как стать автором
Обновить
14
0

Программист Python

Отправить сообщение

Обманываем время: о тестировании с «подставным» временем на Linux и Docker

Время на прочтение3 мин
Количество просмотров13K

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


Менять системное время глобально ой, как не хотелось. Муторно, плюс у меня в ней столько всего понаставлено, не дай Б-г что-то заглючит (вряд ли, но мало ли). Думал запустить VirtualBox, но уж больно лень было ставить «чистую» Убунту, расшаривать папки, и т. д., тем более что этот вариант жрёт, как троглодит серьёзно потребляет машинные ресурсы.


Но буквально недавно я начал ковырять Docker. «У него просто обязан быть механизм контроля системного времени внутри контейнера», — подумал я. Рассмотрим, что же в результате вышло.

Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии21

HDD посвящается: усмиряем приложение, прожорливое на дисковое время

Время на прочтение3 мин
Количество просмотров35K

Корень всех зол


Долгое время у меня была проблема — система очень сильно тормозила после старта. У меня ноутбук с жёстким диском (HDD) и Ubuntu 14.04.
Как выяснилось, причина крылась в одной лишь программе — демоне Dropbox. Dropbox — это онлайновое файловое хранилище, а его демон — программка, синхронизирующая файлы, расположенные в определённой папке, с онлайн-хранилищем. На старте демон начинает считывать свой кэш. У меня он занимает не одну сотню мегабайт, а удалять его вручную не стоит — есть вероятность потерять данные. Учитывая, что у меня жёсткий диск — устройство с механическими частями — демон начинал потреблять время доступа к нему настолько, что пользоваться компьютером и запускать приложения становилось малореально, пока он не прогрузится. Убрать его из автозапуска и запускать вручную? Неприятное решение, у меня и так есть вещи, которые я на старте вынужден запускать сам (например, iotop, он без прав суперпользователя не запускается). Нужно было найти способ сделать приложение менее прожорливым именно на диск.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии47

cx_Freeze + virtualenv = баги и зигзаги

Время на прочтение4 мин
Количество просмотров16K
На днях решил попробовать собрать своего свежеиспечённого бота для Телеграм в исполняемый файл. Существуют различные решения: py2exe, pyInstaller, cx_Freeze. Я использую Ubuntu 14.04 и на моём компьютере, и на сервере, поэтому выбор пал на cx_Freeze, ввиду его кросс-платформенности и поддержки Python 3. (На момент написания статьи я ещё не успел распробовать pyInstaller, который обладает этими же свойствами. Если будет что-то интересное, расскажу об этом в другой статье).
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность