LINUX.ORG.RU

Сообщения fMad

 

Как задеплоить в uwsgi Flask, SocketIO, eventlet

Есть вот такое, работающее как есть

sio = socketio.Server()

....

socket_que = Queue()

def background_thread():
    global socket_que
    while True:
        message = socket_que.get()
        sio.emit('message', message,
                        namespace='/logs')
        sio.sleep(0)

socket_app      = socketio.Middleware(sio, flask_app)

scada           = ScadaWood()
scada.init(flask_app, session, socket_que, 'logica', '/logs')


sio.start_background_task( background_thread )

if __name__ == '__main__':
    eventlet.wsgi.server(eventlet.listen(('', 8000)), socket_app)

нужно это же запустить в продакшене и наверно через nginx+uwsgi

что-то я не догоняю, что тут в конце запускает и как переключить на uwsgi

 

fMad
()

Python два потока

как можно реализовать следующую задачу:

есть два рабочих потока обработки данных

1. выполнят ряд операций с устройствами (читает/пишет в регистры) со постоянно скоростью 0.01-0.1 опр./сек.

2. поток обрабатывает значения этих регистров и реализует логику, формирует интерфейс управления накапливает данные базу

то-есть потоки работают на разных скоростях и скорость взаимодействия потоков через redis не устраивает

получается, что поток логики должен ожидать завершения некоторого набора операций в цикле работы с устройствами

 

fMad
()

отключить enter passphrase

подключил шифрованный раздел, ключ лежит в файле, всё работает как и должно

в /etc/crypttab вот такое

ws UUID=efbf7683-4d80-40ff-bc27-2e78084a926f /ssd_id luks,cipher=xts-plain64:sha1

но при загрузке постоянно требует ввод пароля, если нажать enter и файл на месте, то всё нормально работает ()

почему то запрашивает пароля и ни как не отключается этот запрос

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.2 LTS
Release:	16.04
Codename:	xenial

 

fMad
()

Linux на флешке

есть задача запускать настроенный линкус с флешки, в нём будет крутиться база, то-есть LiveCD вариант не подходит

ну и как то инерции, раз всё файлы, сначала на 1ую флешку поставил обычную Ubuntu, обычным способом

затем загрузился с 1ой флешки

воткнул вторую флешку (новую 3USB) и ставлю на новую флеху

первое что сразу ощущаю, ставится очень долго, часами ждать нужно

после установки, загружается очень долго, наверно полчаса, а там load average больше 5 и долго долго устаканивается, а потом на любое действие опять к небу скачет

пробовал местами менять флешки (старой всегда пользовался как LiveCD), все симптомы теже самые

пробовал на другом, более новом компе, тоже самое

вместо Ubuntu16.04/AMD64 пробовал Lubuntu14.04/i386 тоже самое

если ставлю на обычный диск, то нет проблем и всё работает как всегда

не понимаю, где проблема, может быть дело в том, что скорость работы флешек мешает работать в режиме R/W ? (спецом замерил средние скорости записи/чтения: 33.9Мс/4.2Мс, 24.1Мс/3.7Мс, 15.6Мс/2.3Мс на трёх используемых флешках)

или может быть с USB портами что-то не так

 

fMad
()

запуска Firefox вместо DE

есть задача, после включения компьютера должно запуститься единственное видимое графическое приложение Firefox

там пользователь авторизуется и делает свои дела

соответственно нужен автологин в иксах с автозапуском Firefox без всякого прочего, по идее даже не нужно меню FF и возможность закрытия

как такое эффективнее всего провернуть

 

fMad
()

годную библиотек для отображения SVG тренда

есть массив движущихся во времени и пространстве объектов

нужно отображать их движение на некотором участке пространства

сначала сам навелосипедил https://www.youtube.com/watch?v=h2CxPA6QiLw

а шас думаю, может есть что-то более годное решающее эту задачу ?

 ,

fMad
()

Oven и minimalmodbus

есть два устройства, Овен АС4 и МБ110

МБ110 подключается к ПК через АС4 и USB

хочется научиться управлять ими без офтопика и с помощью питон?

где то бы что-то посмотреть рабочее или почитать умное

помогите разобраться

 

fMad
()

Помогите с декоратором

Есть задача, обернуть некоторое имеющийся api в «ленивые декораторы»

идея такая, в цепочку различных декораторов api добавляется @lazy_request

который вместо выполнения запроса, создаёт celery.task и возвращает id таска, данные по которому можно получить позже

я сделал так:

def set_auth(required=False):
   ...

def get_django_session():
   ...

def get_session_region(session, default_home_region):
   ...


def lazy_request(countdown=5):
    """Декоратор отдаёт функцию на выполнение в celery очередь"""
    def lazy_request_(fun):
        @celery.task()
        def celery_fun(*args, **kwargs):
            with app.test_request_context():
                request.cookies = kwargs.pop('cookies')
                return fun(*args, **kwargs)
        @wraps(fun)
        def wrapper(*args, **kwargs):
            kwargs['cookies'] = request.cookies # запоминаем сессию для контекста внутри celery
            result = celery_fun.apply_async(args=args, kwargs=kwargs, countdown=countdown )
            return jsonify( task_id=result.id )
        return wrapper
    return lazy_request_

@app.route('/api/lazy_diff/<int:a>/<int:b>', methods=["GET"])
@lazy_request()
@set_auth(required=True)
@chech_role_permission('is_superuser')
def lazy_diff(a, b, **kwargs):
    return dict( result = a-b )

@app.route('/api/lazy_sum/<int:a>/<int:b>', methods=["GET"])
@lazy_request()
@set_auth(required=True)
@chech_role_permission('is_staff')
def lazy_sum(a, b, **kwargs):
    return dict( result = a+b )

всё работает, создаётся task и выполняется, но почему то всегда celery выполняет только первую (в даннам случае lazy_diff), ну соответственно в результатах всега только разница

не понимаю, почему такое поведение?

 

fMad
()

debug_toolbar на сервере

хочу запустить джанго отладчик на сервер (в бете)

но он похоже где то залочен на локалхост, а как сделать чтобы всем был доступен?

в local_settings.py уже всталено

INSTALLED_APPS += ( 'debug_toolbar', )

MIDDLEWARE_CLASSES += (
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

DEBUG = True
INTERNAL_IPS = ('127.0.0.1', '0.0.0.0')

 

fMad
()

План перехода на отечественное офисное ПО

интересно, уже обсуждалось где то?

мнение школоты не интересно, интересно мнение тех кто участвовал в первой подобной волне, кто проходил и кому предстоит этим заниматься

я бы начал с того, что за полгода-год пересертифицировал одминов и аникеев, отстранив не справившихся

http://www.tadviser.ru/index.php/Статья:План_перехода_госорганов_на_российско...

 

fMad
()

Ищу FronEnd разработчика

ЗП: до 50 000 руб.

Web-разработчик (FronEnd) от 2 лет

Обязанности: Программирование фронда информационной системы, созданной на Python + Django

Требования:

Знание HTTP1.0, Ajax, Json, Django;

Хорошее знание Js/Jquery/Boostrap;

Отличное знание кросс-браузерной верстки, Json, HTML5, CSS3, JS+jQuery.

Вёрстка Bootstrap3 на готовом шаблоне, написание и адаптация плагинов и управление страницей из JS скриптов;

Опыт работы с GIT;

Написание качественного кросбраузерного поддерживаемого кода, рефакторинг.

Условия: Это не разовый проект, необходима готовность работать долго (разработка/развитие/поддержка), иногда полный рабочий день. В первую очередь интересует опыт frontend разработки. Удалённая работа в команде. Проект в сфере e-commerce.

Ключевые навыки JavaScript jQuery Bootstrap HTML5 CSS3 Ajax SQL Python Linux Django Git Bash Тип занятости

Полная занятость, удаленная работа

ps: свихнувшимся на node.js просьба не приставать

pss: пишите мне сюда ffsdmad@gmail.com, задам пару вопросов

 

fMad
()

как деплоить Flask мирсервисы

допустим есть куча микросервисов, который в debug работают каждый на своём порту

а как это запделоить? в смысле что должны быть сверху?

можно сделать кучу урлов для каждого микросервиса через один адрес и один порт nginx

но тогда как то теряется смысл использвоания этих микросервисов, все яйца в одну кучу

или как можно выставить в инет, каждый на своём порту. но опять же как выставлять в инент? не уж для каждого отдельный субдомен в нгинксе делать?

 

fMad
()

LibreOffice и ненумерация первой страницы

Ребят, сто лет назад не нумеровать титульны было проблемой в OOo нужно было на первой сделать разрыв страницы, с указанием стиля отличного от стиля первой страниц и возможной перенумеровкой и вроде тогда работало

шас на делаю 1page > style page1 делаю разрыва как положено но у всех нечётных после перевой стиль делается первый и вся нумерация идёт через зад

это ведь сто лет уже как косяку и до сих пор через ass

как хоть это шас делают? ну не печатать же отдельно титульник

 

fMad
()

Yandex.Imap кодировки

пытаюсь получить от ядекса список директорий в ящике

вот что получаю

b'(\\Unmarked \\HasNoChildren) "|" "&BDMEMARABDAEPQRC-"'
b'(\\Unmarked \\HasNoChildren) "|" "&BDQEPgQ8BDUEPQ-"'
b'(\\Marked \\HasNoChildren) "|" "44&AKAEJAQX-"'
b'(\\Marked \\NoInferiors) "|" INBOX'
b'(\\Unmarked \\HasNoChildren) "|" test'

с -1 и -2 всё ясно и так. а вот -3 строчка это явно «44 ФЗ»

что это за кодировка? на base64 как то не сильно похожа

 

fMad
()

PHP прокси скрипт

есть скрипт PHP, отдающуий данные

есть новый Flask адрес отдающий теже данные, но на другом сервере

данные забирает Delphi программа, то-есть скорее всего она не сможет обработать redirect

нужно какой то скрипт на php, который при обращении к себе, сделает запрос по новому Flask адресу и отдаст Delphi проге результат

думаю наверняка есть что-то готовое и рабочее для PHP

 , ,

fMad
()

перенаправление потоков в python

надо наладить конвейер фильтров на python, типа

./curl.py | ./parse.py | ./download.py

но видимо что-то делаю не так. когда делаю ./parse.py | tail -f

то ./parse.py вылетает с ошибкой I/O operation on closed file.

в нём вывожу данные вот так:

sys.stdout.write(teststr + "\n")
sys.stdout.flush()

очевидно, что при использовании | , sys.stdout закрывается и открывается pipe

но не понятно где его найти и как туда писать

вот, висит

python -c "while True:__import__('sys').stdout.write('test test\n')" | tail -f

 ,

fMad
()

Таволга — терминал на Байкале

сновные характеристики АРМ «Таволга Терминал TP-T22BT»

  • Дисплей 21.5” (54.6 см), IPS, 16:9, Full HD 1920×1080, светодиодная подсветка
  • Процессор — «Байкал-Т1» (MIPS P5600, 2 ядра)
  • Графический адаптер — SM750, 16 МБ видеопамяти
  • Память — от 2 до 8 ГБ DDR3
  • Локальное хранение
    • 8 ГБ NAND Flash (опция)
    • 8 ГБ Disk-on-Chip SSD (опция)
    • 2.5” SATA SSD (опция)
  • Звук
    • Кодек PCM2912A
    • Встроенные стереодинамики 2 × 2,5 Вт
  • Внешние разъёмы
    • 4 × USB 2.0
    • 1 × PS/2
    • Устройство для работы со смарт-картами
    • Устройство для работы с картами памяти SD/SDHC/SDXC/MMC/MS
    • Единый вход 3,5 мм для стереогарнитуры (TRRS CTIA/AHJ)
    • Разъём для замка Kensington lock
  • Сетевые возможности
    • 2 × 100/1000 Мбит/с Ethernet RJ-45 (8P8C)
    • 1 × 100/1000 Мбит/с Ethernet RJ-45 (8P8C)
    • 1 × порт для SFP-модуля (100/1000 Мбит/с)
  • Поддержка ОС — Дистрибутивы Linux, основанные на Debian

пруф: http://www.t-platforms.ru/products/corp/tavolga-terminal-tp22bt.html

Компьютер «Таволга Терминал» уже доступен для заказа, а начало поставок запланировано на второй квартал 2016 года. К сожалению, стоимость моноблока пока не сообщается. Кроме того, компания «Т-Платформы» планирует выпустить данную систему в формате компактного настольного ПК без дисплея.

маздай всё или ещё потерпим?

 

fMad
()

Flask-Principal как использовать?

нужно создать гибкую ACL

подключил в проект flask-principal, добавил модель Role и связь с пользователем

создал роли там всякие admin/chief/dispatcher/supervision и тд.

понаписал всяких декораторов для представлений типа:

class Mail_View(MethodView):

    decorators = [admin_chief_required]

всё вроде работает, но хочется, чтобы как в Django, когда можно от суперадмина создать группу, дать ей права, затем связывать в группой юзеров, у тут чтобы создать роль нужно лезть в админку, добавлять роли, а затем писать декоратор

да и к админке тоже не больно хорошо этот директор прикручивается

 

fMad
()

работа со сканерами штриходов

каким образом можно интегрировать в Linux/Web ПОшку сканер штрихкода?

предполагается, поднёс к сканеру штрихкод с описание какого то документа, а он через секунду на экране появился

 

fMad
()

Почему висит сервер

Прислали фотку с терминала https://scontent-arn2-1.cdninstagram.com/hphotos-xpa1/t51.2885-15/e35/1227738...

сервер за натом, на сервере продолжают работать виртуалки и хостинг, но не пускает по ssh и локально тоже.

что может быть такое?

 ,

fMad
()

RSS подписка на новые темы