@ru_python

Страница 1428 из 9768
Whore Amazing
19.08.2016
12:16:04
народ, как сделать асинхронным код, выполняющий последовательно много разноплановых задач? поясню. юзер на сайте, скажем, загружает файл, пусть это будет расово верный зип-файл. на сервере он распаковывается и для каждого файла внутри выполняется своя обработка - аудио-файлы конвертируются, текстовые файлы парсятся. с одним юзером все понятно, а вот когда загружают примерно одновременно двое или больше, как с этим поступать? еще и операции-то такие, включая распаковку, не сильно асинхронные.

Aragaer
19.08.2016
12:16:31
сделать пул задач

j7sx
19.08.2016
12:16:31
А как тогда ссылку на группу кинуть, чтобы все могли добавляться?

Aragaer
19.08.2016
12:16:40
сделать воркеров, которые тягают задачи из пулла

Google
Aragaer
19.08.2016
12:16:47
*пула

и вобщем все

Whore Amazing
19.08.2016
12:17:13
сделать пул задач
так задача-то по сути одна, вызвать скрипт, выполняющий обработку. А как внутри него на пул задачи разбить?

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

Aragaer
19.08.2016
12:19:44
эээ

задача - распаковать. В результате распаковки появляются новые задачи - сконвертировать, спарсить, что-то еще. Новые пользователи, много.

все задачи кидаются в один общий пул

Whore Amazing
19.08.2016
12:21:08
ну да. но сервер видит только одну задачу - распаковать. возможно дать доступ к пулу скрипту распаковки? чем вообще это делают? я из более-менее похожего работал только с сельдереем.

Aragaer
19.08.2016
12:23:04
до тех пор, пока эта одна задача не выполнена, других и нету

как только выполнена задача распаковать, появляются новые

Whore Amazing
19.08.2016
12:26:13
тут, наверное, главный вопрос - чем? там уже по примерам воткну, как и что, думаю.

tosh
19.08.2016
12:26:59
Селери сделает. Или её нельзя?

Whore Amazing
19.08.2016
12:27:48
хз. я ей пользовался только для выполнения по расписанию. для текущих целей она норм?

Google
tosh
19.08.2016
12:28:38
Да, ты можешь поставить её "вот прям щаз" выполняться

Whore Amazing
19.08.2016
12:28:59
Круто. Спасибо. С ней я более-менее разобрался.

Whore Amazing
19.08.2016
12:35:31
В случае с асинкио можешь добавлять курутины в луп
да, надо бы до 3.5 обновиться из джанги это работать будет?

parikLS
19.08.2016
12:36:31
Да, можно совместить, а ты планируешь отдавать респонс после обработки?

parikLS
19.08.2016
12:36:51
Просто если да, то это будет нееффективно

Whore Amazing
19.08.2016
12:37:01
сам понимаю

Загрузку через асинкио, распаковку и обработку в multiprocessing
загрузку через асинкио? а можно подробнее?

parikLS
19.08.2016
12:38:11
Имхо лучше отдавать сразу респонс, а резульиаты обработки потом пушить по вебсокету например

Whore Amazing
19.08.2016
12:38:45
Имхо лучше отдавать сразу респонс, а резульиаты обработки потом пушить по вебсокету например
да, респонс сразу отдаю а с результатами позаковыристее сделал

CthUlhUzzz
19.08.2016
12:38:48
Whore Amazing
19.08.2016
12:39:13
Ну неблокирующие сокеты
и как это к джанге прикрутить? есть мануалы?

parikLS
19.08.2016
12:39:34
Это не про джангу

CthUlhUzzz
19.08.2016
12:39:36
Если речь о джанге, тогда не подскажу

Whore Amazing
19.08.2016
12:40:20
во-во да, с загрузкой беда файлы могут быть достаточно большие - до гига как с этим работать - хуй его знает...

parikLS
19.08.2016
12:40:28
Как вариант можешь сделать рядом отдельный веб сервис на аиохттп который будет этим заниматься

Whore Amazing
19.08.2016
12:41:25
Да у меня и так торнада рядом вертится, можно на нее переложить но вот встраивать загрузку на ней в сайт на джанге как-то не очень просто кажется

parikLS
19.08.2016
12:42:40
Та норм, торнада обработала все, потом модели заимпортил из джанги и разложил куда нужно

Google
Whore Amazing
19.08.2016
12:44:02
ну это понятно но вот делать страницу загрузки полностью на торнаде и перекидывать туда-сюда управление или встраивать фрейм из нее? и то и то как-то костыльно

tosh
19.08.2016
12:45:02
Я всё пропустил. Чем уже селери не подошла?)

Whore Amazing
19.08.2016
12:45:18
селери-то подошла) думаем, как большие файлы в джангу загружать

parikLS
19.08.2016
12:45:31
Ну я похожее делал через редис, тоесть страница загрузки рабоиает на джанге, когда реквест приходит, то ложим задачу в редис, а другой процесс обработчик читал эти данные и результат потом пушил через вебсокет

parikLS
19.08.2016
12:47:01
Ну с файлами я большими не работал, ну ложи кудато в темповую директорию, чтобы он был доступен другому процессу

Whore Amazing
19.08.2016
12:47:36
хм. все равно не очень понятно. если еще раз объяснишь более доступным языком, буду весьма благодарен.

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

Belskikh
19.08.2016
13:52:08
Всем привет. Народ, хочу узнать ваше мнение. Мне 27 лет, я инженер в космической отрасли в рф, хороший грамотный инженер. Но в связи с экономической ситуацией в стране и урезанием бюджета на космос доходы небольшие и начинают снижаться. Последний год кодил на питоне в качестве хобби, изучал дата саенс и машинное обучение, кодить нравится. Как считаете, есть ли у меня перспективы устроиться в Москве программером и, главное, развиться до хорошего уровня? Или уже поздно для этого? Программирование это профессия молодых, как говорят.

Belskikh
19.08.2016
13:53:11
Может, советы дадите, буду рад любым

Belskikh
19.08.2016
13:53:30
если хорошо с английским, иди сразу на upwork
А там без опыта реальных проектов можно?

С английским хорошо

Artem
19.08.2016
13:53:49
можно

53r63rn4r
19.08.2016
13:55:31
Нашёл такой список: Уметь самообучаться, находить нужную информацию. Иметь общие представления о том, что такое ОС и зачем она появилась. Понимать что такое процесс и как он “живёт” в ОС. Понимать что такое поток. Понимать что такое сокеты и зачем они нужны. Иметь представление о том, как устроен стек протоколов TCP/IP. Понимать что такое Linux. Уметь работать в sh. Понимать что такое виртуализация и знать какие бывают типы. Уметь настраивать виртуальные машины через vagrant или подобные инструменты. Уметь работать с GIT(создавать ветки, разрешать конфликты, etc) Понимать что такое ООП, на чём он основан и почему им удобно пользоваться. Понимать что такое императивный и декларативный стиль. Понимать что такое MVC Понимать что такое декоратор(стандартный вопрос на собеседовании) и зачем он нужен. Понимать что такое замыкание. Понимать что такое интроскпекция. Понимать асинхронную концепцию программирования. Уметь работать с БД(хотя бы CRUD, join) Уметь работать с nginx(хотя бы проксирование настроить) (можно просто написать - “прочитать Лутца”, но выделю пару вопросов) Знать чем отличаются new style классы от old style. Знать чем отличаются Python2 от Python3 Знать чем отличается str от unicode и почему в программе нужно работать с unicode. Понимать алгоритм импорта модулей в Python. Понимать что такое генераторы и итераторы. Понимать что такое дескрипторы. Понимать что такое GIL и зачем он нужен. Понимать что такое WSGI и зачем он появился. + Уметь писать тесты, понимать зачем это нужно. + Практические и теоритические основы по framework. + выполнить норматив по ГТО + не пить и не курить. Источник: https://toster.ru/q/177823
Вот, держи

[Anonymous]
19.08.2016
13:56:02
Вот, держи
Ну не томи111

53r63rn4r
19.08.2016
13:56:33
Тут твой список для джуниора просили, извини

Belskikh
19.08.2016
13:57:15
Спасибо. Процентов 80 знаю, по сетям и серверу надо поботать

Google
Belskikh
19.08.2016
13:58:00
Ладно, тогда надо резюмеху составлять. На какую зп рассчитывать можно поначалу, если в офис?

В Мск

На ХХ от 70 начинаются зп, но это уже с опытом от года

53r63rn4r
19.08.2016
13:59:56
До 30к, полагаю

tosh
19.08.2016
14:00:19
Думаю побольше можно, если понравиться собеседующим

Belskikh
19.08.2016
14:00:50
И долго так?

Artem
19.08.2016
14:00:53
Admin
ERROR: S client not available

Belskikh
19.08.2016
14:01:14
Да не, я на 70 не претендую сразу

tosh
19.08.2016
14:01:20
И долго так?
Как повезёт. Если показываешь хорошие результаты, то стартапы часто могут поднимать по чуть-чуть зп

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

(с 35 до 60)

Artem
19.08.2016
14:02:19
так 70 это мало, сколько тогда в космической отрасли?

Belskikh
19.08.2016
14:02:42
50

Иногда 60. Но сейчас все идёт к снижению и этой невысокой цифры

Это практически максимум для инженера вплоть до ведущего и начальника сектора (senior и team lead по-вашему)

У нач отдела около 80. До нач отдела надо лет 15 отработать ?

53r63rn4r
19.08.2016
14:07:29
В киеве пан тимлид получает $7 кусков QA

Belskikh
19.08.2016
14:12:35
Круто ему

Google
Belskikh
19.08.2016
14:13:24
Почему точно?

Artem
19.08.2016
14:14:43
На самом деле нипочему, идти на апворк без опыта работы (и работы в команде) - так себе идея

Artem
19.08.2016
14:15:47
ну свои же проекты были какие-то

Belskikh
19.08.2016
14:17:58
Да, были. Но мне тоже кажется, что этого мало, честно говоря. Поэтому и удивился

А какой путь развития вы бы посоветовали?

Vladimir
19.08.2016
14:19:50
там где строчка

if g.user is not None

попробуй замени на if not hasattr(g, 'user')

я не уверен, что это true way, но должно сработать

Dm
19.08.2016
14:20:57
if g.user is not None and g.user.if_authenticated(): - там вот такая строка

заменять ее полностью?

Vladimir
19.08.2016
14:21:23
нет, только часть про g.user

tosh
19.08.2016
14:21:39
А ещё лучше отладить, почему в g не проставляется user

Artem
19.08.2016
14:22:04
А какой путь развития вы бы посоветовали?
Пойти жуниором в нормальную контору, как ты и собирался. Первые полгода дадут опыт, который в одного не получить

Dm
19.08.2016
14:22:55
НЕ СРАБОТАЛО)

Belskikh
19.08.2016
14:23:20
tosh
19.08.2016
14:24:45
НЕ СРАБОТАЛО)
https://telegram.me/python_beginners

Dm
19.08.2016
14:25:20
мне туда?)

tosh
19.08.2016
14:25:37
Желательно, да

Страница 1428 из 9768