
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
Круто. Спасибо. С ней я более-менее разобрался.

parikLS
19.08.2016
12:34:57
народ, как сделать асинхронным код, выполняющий последовательно много разноплановых задач?
поясню. юзер на сайте, скажем, загружает файл, пусть это будет расово верный зип-файл. на сервере он распаковывается и для каждого файла внутри выполняется своя обработка - аудио-файлы конвертируются, текстовые файлы парсятся. с одним юзером все понятно, а вот когда загружают примерно одновременно двое или больше, как с этим поступать?
еще и операции-то такие, включая распаковку, не сильно асинхронные.
В случае с асинкио можешь добавлять курутины в луп

Whore Amazing
19.08.2016
12:35:31

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

CthUlhUzzz
19.08.2016
12:36:41
народ, как сделать асинхронным код, выполняющий последовательно много разноплановых задач?
поясню. юзер на сайте, скажем, загружает файл, пусть это будет расово верный зип-файл. на сервере он распаковывается и для каждого файла внутри выполняется своя обработка - аудио-файлы конвертируются, текстовые файлы парсятся. с одним юзером все понятно, а вот когда загружают примерно одновременно двое или больше, как с этим поступать?
еще и операции-то такие, включая распаковку, не сильно асинхронные.
Загрузку через асинкио, распаковку и обработку в multiprocessing

Whore Amazing
19.08.2016
12:36:46

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

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

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
Ну я похожее делал через редис, тоесть страница загрузки рабоиает на джанге, когда реквест приходит, то ложим задачу в редис, а другой процесс обработчик читал эти данные и результат потом пушил через вебсокет

Whore Amazing
19.08.2016
12:46:07

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

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

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

Kirill
19.08.2016
13:52:50


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

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

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

Belskikh
19.08.2016
13:53:30
С английским хорошо

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

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

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

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