• Как осуществить контроль и статус ASIC'ов с помощью telegram бота на Python?

    @vabka
    Токсичный
    1. Если готовая инфа есть, то уточнять её надо у производителя асика - возможно, у него есть апи, а может и нет.
    2. Посмотреть, какие запросы делает фронтенд, чтобы узнать температуру и прочее. Из питона надо будет эти запросы имитировать. Если там нет апи, то надо будет парить html
    3. Если они находятся в одной сети, то надо будет просто обращаться по ip. Если бот и асики будут в разных сетях, то сети надо будет объединить по VPN
    3.1 - есть технология mDNS (вроде так называется, но я не уверен) - можно с помощью неё узнавать актуальный адрес, если асики её используют. Другой вариант - привязать IP к MAC-адресу асиков.
    Ответ написан
  • Можно ли использовать словарь вместо полноценной базы данных?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Смотря какой контент в json файле лежит. Если он маленький, а проект это просто небольшой пет проект, то и файлом обойтись можно. Тем более, если работа не подразумевает большое кол-во обращений.

    что может пойти не так

    1. Блокировка файла. Во время чтения файл блокируется и недоступен для других потоков. В принципе, если размер файла маленький, а кол-во обращений небольшое, то шанс того, что два потока попытаются получить доступ к файлу одновременно очень и очень мал, практически невозможен я бы сказал. Если использовать тот же sqlite3 - то нужно знать, что он так же блокирует доступ, во время работы.
    2. Потеря данных. Если прочитать файл, скопировать контент из него в какую-то переменную, затем другой поток сделает то же самое. Первый поток добавит клиента X в json и дампнет его в файл. Второй поток добавит клиента Y и дампнет его в файл, при этом, учитывая то, что во втором потоке старый контент (до добавления клиента X), при дампе в файле уже не будет никакого клиента X, только Y.

    Если учиться работать с базами данных, лучше выбрать нормальную, вроде postgresql, тогда никаких проблем не будет. sqlite3 - несерьезный вариант, что-то между обычным тектовиком и базой данных
    Ответ написан