• Нужен ли периодический ping (heartbeat) на локальных соединениях?

    @invilso
    В общем, для локальных соединений пинг обычно не нужен. ОС как правило, не разрывает такие соединения из-за простоя. Если соединение работает стабильно, в вашем случае - можно обойтись без пинга.
    Если у вас сложная система с множеством процессов, периодический пинг может быть полезен. Но в большинстве случаев это не критично.
    Ответ написан
    Комментировать
  • Как можно запретить apcupsd управлять ПК, и оставить это кастомному скрипту?

    @invilso Автор вопроса
    Чтобы исправить быстрое выключение ПК и ИБП, мне пришлось установить для всех конфигураций значения по умолчанию, после чего ПК проработал около 15 минут.
    Поискав в сети несколько часов, я нашел эту статью , в которой объяснялось, как сделать apcupsd неспособным управлять питанием ПК. Необходимо было закомментировать в файле apccontrol пути к выключению ПК и команде wall. Но проблема заключалась в том, что статус оставался: SHUTTING DOWN Чтобы удалить его при восстановлении питания от сети, мне удалось использовать этот код на Python:
    result = await aioapcaccess.request_status(host='localhost', port=3551)
    if float(aioapcaccess.split_unit(result["LINEV"])[0]) > 170 and result['STATUS'] == 'SHUTTING DOWN':
        subprocess.run('sudo systemctl restart apcupsd.service', shell=True, check=True)
    Ответ написан
    Комментировать
  • Не работает миграция Django, что делать?

    @invilso
    content = models.TextField(blanks=True)
    замените на
    content = models.TextField(blank=True)
    Об этом написано тут: TypeError: __init__() got an unexpected keyword argument 'blanks'
    Это значит что у метода __init__ нет аргумента blanks, зато есть blank.
    Вместо того чтобы сначала тут спрашивать, вам стоило бы погуглить описание этой ошибки, надеюсь так и сделаете в следующий раз.
    Ответ написан
    1 комментарий
  • Как убить процесс который сам перезапускается?

    @invilso Автор вопроса
    GOverlay почему-то добавил этот процесс в systemd. Изнутри GOverlay я просто отключил этот сервис, и он перестал нагружать мой ПК.
    Ответ написан
    Комментировать
  • Как запланировать действие в python?

    @invilso
    Решение "в лоб":
    import time
    while True:
        time.sleep(59)
        if time.localtime().tm_min == 59:
            #тут действие
    Ответ написан