• Как перенаправлять трафик через iptables?

    hint000
    @hint000
    у админа три руки
    Пробовал так:
    Ошибка в имени интерфейса - в правиле ens0, а выше показан ens0.
    и так:
    А так должно работать, по идее.
    iptables до изменений имеет вид:
    Проверьте после изменений, появляются ли новые правила. А то я столкнулся с тем, что именно в Ubuntu 22.04 поломали iptables (отработанный годами набор правил, работавший на Ubuntu 20.04, просто выдавал ошибки при попытке их добавления на Ubuntu 22.04). Я не знаю, может быть, уже починили это, а может быть и нет.

    Они настойчиво подталкивают к миграции на nftables (типа того, что iptables внезапно признали за дерьмо мамонта, и приняли решение, что оно вам не нужно). И действительно, при конвертации в nftables "поломатый" набор правил снова стал работать как надо.
    Ответ написан
    2 комментария
  • Как разобраться с многопоточностью и асинхронностью в веб-приложении?

    romesses
    @romesses
    Backend инженер
    1a) https://stackoverflow.com/a/38876915
    подробнее о режиме поточности

    As of Flask 1.0, the WSGI server included with Flask is run in threaded mode by default.

    Prior to 1.0, or if you disable threading, the server is run in single-threaded mode, and can only handle one request at a time. Any parallel requests will have to wait until they can be handled, which can lead to issues if you tried to contact your own server from a request.

    With threaded=True requests are each handled in a new thread. How many threads your server can handle concurrently depends entirely on your OS and what limits it sets on the number of threads per process. The implementation uses the SocketServer.ThreadingMixIn class, which sets no limits to the number of threads it can spin up.

    Note that the Flask server is designed for development only. It is not a production-ready server. Don't rely on it to run your site on the wider web. Use a proper WSGI server (like gunicorn or uWSGI) instead.

    1b) Насчет ограничений Sqlite: попробуйте, как указано в https://stackoverflow.com/a/26630550

    2-3) для построения графиков воспользуйтесь очередями. Учтите, RQ работает только на POSIX-совместимой ОС (WSL на Windows). Воркеры очередей так и работают - на отдельных процессах. Из Flask кладут в очередь, а в воркере - берут из нее. И так для каждого графика или другой задачи - просто класть задачу в очередь и продолжать далее. В сообщении задачи нужно указать идентификатор и параметры для построения графика, а также все, что вам потребуется для дальнейшего занесения данных в БД.

    пока не поздно, есть ли смысл развивать проект на Flask, или мне взять многопоточный фреймворк типа FastAPI, aiohttp и т.п.? Что посоветуете?
    Попробуйте с очередями сначала. У вас же не тысячи пользователей, похоже.
    Ответ написан
    2 комментария
  • Существуют ли аналоги remote.it (облачный cli) для linux?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Если нет возможности/желания поднимать VPN, то это задача как раз для сервиса ngrok, дёшево и сердито.
    Ответ написан
    2 комментария
  • Существуют ли аналоги remote.it (облачный cli) для linux?

    @antonwx
    Ответ написан
    Комментировать
  • Как из обычной мышки сделать беспроводную?

    Taekun
    @Taekun
    ... не занимайтесь ерундой....,
    ... дешевле выйдет .....,
    ... впустую потраченного времени.....,

    У меня вопрос: а не кому не приходило в голову, что человек может делать курсовую работу, или выполняет заказ? Я просто говорю к тому, что зачем так категорично?
    И вообще меня убивает наш Рунет, на любой вопрос масса комментов с одним контекстом: "... не мучай себя купи готовое...", просто по себе знаю что с подобными вопросами если обращаться то лучше всего на западные форумы и проекты. Там ребята с радостью дают советы по существу а не просто отписываются по типу "... это бредовая затея" или "... за чем изобретать еще один велосипед..", когда встает вопрос изобретения очередного велосипеда то в мыслях чаще не сделать подобное а понять как это делается и какие трудности при этом возникают. т.е. чаще всего это чисто образовательная идея.

    Просто в данном конкретном случае человек спросил конкретный вопрос: "..как сделать?..", а не просьба отговорите меня от этого. Может он занимается микроэлектроникой и до ковырялся до МК и что бы самообучение было продуктивным (как мы все знаем) нужно обучаться на конкретной задаче, он придумал себе такую. А вместо помощи и советов по делу мы ему советуем: "не тренируй мозги, купи готовую".
    Вот как то так. И прощу прощения за мысли не по теме и эмоции!
    Ответ написан
    3 комментария