
Nikolay
03.03.2017
00:15:53

Eugene
03.03.2017
00:16:00
gunicorn например только проксят

Софи
03.03.2017
00:16:27

Nikolay
03.03.2017
00:16:33
я не совсем правильно написал выше, wsgi - это способ, как правильно дергать программу, чтобы она работала

Google

Yury
03.03.2017
00:16:35
файлы создаются из питоноскрипта или из баша?
Из Python.
Ситуация такая: есть минималистичная сборка linux на RPi, где стоят простенькие иксы и Python3 (нужно GUI потому что).
Хочу запускать Python-скрипт по клику мышки.
Для этого в "Open with" нужно записать свой собственный скрипт на баше, состоящий из одной строки. Есть переменные %f (имя файла) и %u (полный путь до него). Если записать просто как python3 %f - файлы создаются в usr.
Ограничение в одну строчку все обламывает. Я в баше совершенно не силен, здесь бы прокатило в две строки как cd %u и python3 %f, но как это в одну строку объединить - я так и не понял.

Eugene
03.03.2017
00:16:36
и вообще нафига вам nginx если сейчас вся статика и медиа в cdn

Nikolay
03.03.2017
00:16:41

Софи
03.03.2017
00:16:59
а не mod_php какой-нить

Nikolay
03.03.2017
00:17:31

Eugene
03.03.2017
00:17:50
ну по сути uwsgi это типа как php5-fpm только у него больше плюшек. кстати uwsgi умеет и руби сервить и пхп и что угодно

Nikolay
03.03.2017
00:17:51
есть плагин в nginx, есть внешний демон
оба на сях реализуют один и тот же протокол, по которому и общаются через сокет
а uwsgi умеет команды из этого протокола преобразовывать в wsgi-вызовы к питонопрограмме
он нужен, потому что в nginx никто питон-интерпретатор встраивать не будет

Yury
03.03.2017
00:18:42
cd dir && python3 script.py
Пробовал. Эти операции идут как отдельные. Python вызывается относительно usr все равно, а не относительно dir.

Google

Nikolay
03.03.2017
00:19:10
os.path.dirname(__file__)
и дергай просто python3 /path/to/script.py

Софи
03.03.2017
00:19:36

Nikolay
03.03.2017
00:20:20
более того, ты можешь взять торнадо и использовать его, как фронтенд-сервер
и дергать основное приложение через wsgi из торнадо

Софи
03.03.2017
00:21:34

Eugene
03.03.2017
00:21:48
почитайте тут http://flask.pocoo.org/docs/0.12/deploying/uwsgi/

Nikolay
03.03.2017
00:21:59
там бинарный протокол

Софи
03.03.2017
00:22:27
и можно как юзать uwsgi демон. так и ngx_http_uwsgi_module, который понимает wsgi и можно программу на питоне или другой фигне приконнектить?

Eugene
03.03.2017
00:22:44

Nikolay
03.03.2017
00:23:03

Yury
03.03.2017
00:23:15

Софи
03.03.2017
00:23:16
так. uwsgi != wsgi?

Nikolay
03.03.2017
00:23:17
но да, программу на питоне можно приконнектить к любой другой фигне, которая в него умеет

Софи
03.03.2017
00:23:21
первый - это бинарный протокол?

Nikolay
03.03.2017
00:23:24

Eugene
03.03.2017
00:23:27

Google

Nikolay
03.03.2017
00:23:28
да

Eugene
03.03.2017
00:23:46
uWSGI is both a protocol and an application server; the application server can serve uWSGI, FastCGI, and HTTP protocols.

Nikolay
03.03.2017
00:23:54

Софи
03.03.2017
00:24:04

Nikolay
03.03.2017
00:24:37

Eugene
03.03.2017
00:24:37
да да

Софи
03.03.2017
00:25:46
я еще видимо с gunicorn путаю
он вроде как раз http сервер поднимает
который можно проксировать

Eugene
03.03.2017
00:26:29
uwsgi тоже умеет http и его можно проксировать

Nikolay
03.03.2017
00:26:39
gunicorn - это, по сути, тоже штука типа uwsgi, только на питоне и медленнее

Eugene
03.03.2017
00:26:42
просто именно по uwsgi лучше

Nikolay
03.03.2017
00:27:01

Софи
03.03.2017
00:27:07
нейтив всегда лучше (:

Eugene
03.03.2017
00:27:23

Nikolay
03.03.2017
00:27:44
это, по сути, common purpose воркеры
сишные причем
можно в них питонокод запускать и вообще использовать как подобие celery

Google

Eugene
03.03.2017
00:28:32
я частично что-то реализовал в django-uwsgi
много еще работы а все времени нет.
удобно что uwsgi может считывать конфиги приложений хоть из бд. добавил в админке вассала - он запустился. пометил некативным - остановился.
ну это если в режиме императора запускать

Nikolay
03.03.2017
00:31:50

Eugene
03.03.2017
00:32:57
не в курсе

Gnobitel
03.03.2017
00:33:39
Ребят, такая проблемка

Софи
03.03.2017
00:33:58
f-строки... пусть еще нестрогую типизацию завезут)

Nikolay
03.03.2017
00:34:57

Admin
ERROR: S client not available

Софи
03.03.2017
00:35:42
да что-то пхп уже подванивает
пора бы автокаст завезти
и эксепшены убрать (:

Gnobitel
03.03.2017
00:36:08
есть api разных версий, содержимое у них одинаковое, единственное отличие - это некоторые наименования ключей разные, но смысл их тот же
например

Софи
03.03.2017
00:37:03

Gnobitel
03.03.2017
00:37:15
поле id в одной версии и поле orderID в другой версии, надо сделать функцию которая унифицирует поля
поля по смыслу все одинаковые

Nikolay
03.03.2017
00:37:38
и слава богу
не надо такого говна, как в js

Google

Софи
03.03.2017
00:37:58

Nikolay
03.03.2017
00:38:00
но сильной ее назвать все равно язык не очень поворачивается

Gnobitel
03.03.2017
00:38:23
Все спят как всегда

Софи
03.03.2017
00:38:25
но прикол тут в чем. на бэкенде можно дропнуть. хоть на хаскеле писать

Nikolay
03.03.2017
00:38:32

Софи
03.03.2017
00:38:44
на фронте придется с js возиться. да, трансляторы, но дедушку надо бы знать
как всяким сишникам асм. дабы с gdb наперевес дебажить

Gnobitel
03.03.2017
00:39:47
есть поле id в одной версии api и есть поле orderID в другой версии например, на выходе надо сделать так чтобы у всех было одинаковое наименование этого поля remote_payment_id

Софи
03.03.2017
00:40:24
в пхп можно на все забивать. как-то оно даже работать будет.

Nikolay
03.03.2017
00:41:02

Софи
03.03.2017
00:41:03
исключений толком нет. по дефолту все в stdout валит

Nikolay
03.03.2017
00:41:13
тебе надо один API поверх них сделать?

Gnobitel
03.03.2017
00:41:59
на выходе функции)

Nikolay
03.03.2017
00:42:33
json-поля обходишь и переименовываешь

Софи
03.03.2017
00:42:56

Gnobitel
03.03.2017
00:43:13

Nikolay
03.03.2017
00:43:39
а как без преобразования? :)