ФорумПрограммированиеPython → Выбор веб-сервера для многопоточного Python приложения

Выбор веб-сервера для многопоточного Python приложения

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 19:11, спустя 4 минуты 48 секунд

    оффтопик: @phpdude, ты заметил как нелепо смотрятся сниппеты, когда появляются снова при цитировании? они тут лишние, имхо.

    @artoodetoo, да, но Москва тоже не сразу строилась

    Спустя 274 сек.

    отфильтровал blockquote's

    Спустя 92 сек.

    сделал по 2 в ряд :)

    если больше одного сниппета в посте

    Спустя 15 сек.

    Profile Images and Banners | Twitter Developers [dev.twitter.com]

    Спустя 6 сек.

    lxml.html [lxml.de]

    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 19:35, спустя 24 минуты 40 секунд

    зы: новые ссылки еще щас используют favicon (который ищут на странице) если не найдено og:image элемента.

    Спустя 20 сек.

    Internationalization | Twitter Developers [dev.twitter.com]

    Спустя 13 сек.

    test :-)

    Спустя 28 сек.

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

    Сапожник без сапог
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 20:15, спустя 39 минут 29 секунд

    1. uwsgi
    2. вебсервер должен обслуживать запросы, чего-то запускать не его задача. краулинг выносим в отдельные процессы, соединяем с джангой как хотим - бд, очереди, и т.п. Ну не совсем как хотим, лучше бы всё-таки на очередях. celery, ну или типа того
    3. многопоточность для краулинга совершенно не подходит. берём asyncio, или tornado.httpclient. будет и быстрее и по ресурсам мягче

    P.S. да, чуть не забыл. переписываем это на erlang, или на крайняк на nodejs :)

  • ArtemVortax

    Сообщения: 48 Репутация: N Группа: Адекваты

    Spritz 5 октября 2015 г. 21:08, спустя 53 минуты 41 секунду

    1. uwsgi
    2. вебсервер должен обслуживать запросы, чего-то запускать не его задача. краулинг выносим в отдельные процессы, соединяем с джангой как хотим - бд, очереди, и т.п. Ну не совсем как хотим, лучше бы всё-таки на очередях. celery, ну или типа того
    3. многопоточность для краулинга совершенно не подходит. берём asyncio, или tornado.httpclient. будет и быстрее и по ресурсам мягче

    P.S. да, чуть не забыл. переписываем это на erlang, или на крайняк на nodejs :)

    @mathete, спасибо. Сейчас переписываю на Scrapy. Чем Node.js будет лучше этого фреймворка?

  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 21:18, спустя 9 минут 45 секунд

    @ArtemVortax, тут дело не фреймворках, а в платформе. на python любая асинхронность сбоку-припёку, особенно во всяких твистедах, на котором основывается scrapy. А в nodejs асинхронность заложена в самой платформе, на ней всё строится.

    Ну про скорость исполнения самого кода я молчу, и так понятно.

    Но это всё имеет смысл, если тебе надо более производительное решение. Обычно, scrapy хватает. Только вынеси его из django в отдельный процесс(-ы) в любом случае.

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 21:27, спустя 9 минут 1 секунду

    Ну про скорость исполнения самого кода я молчу, и так понятно.

    @mathete, а удобство кода? в жс код - лапша блядь )) готовешь котлетги, а получается лапша всегда

    Сапожник без сапог
  • ArtemVortax

    Сообщения: 48 Репутация: N Группа: Адекваты

    Spritz 5 октября 2015 г. 21:49, спустя 21 минуту 49 секунд

    @ArtemVortax, тут дело не фреймворках, а в платформе. на python любая асинхронность сбоку-припёку, особенно во всяких твистедах, на котором основывается scrapy. А в nodejs асинхронность заложена в самой платформе, на ней всё строится.

    Ну про скорость исполнения самого кода я молчу, и так понятно.

    Но это всё имеет смысл, если тебе надо более производительное решение. Обычно, scrapy хватает. Только вынеси его из django в отдельный процесс(-ы) в любом случае.

    @mathete, в принципе на ноде можно запилить все приложение. и с лонг поллингом проблема отпадает ))

  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 22:02, спустя 12 минут 48 секунд

    @phpdude, ну это же от повара зависит:)

    В последней ноде почти полная поддержка ES6, можно писать class и всё-такое. Я радостно юзаю Proxy, а то страдал, без возможности делать __getattr__. Если ты про вложенные коллбеки, так есть же промизы.

    Ну, а если хуярить, в стиле jquery-plugin-dozaebis-0.0.12a под IE5, то ничего, кроме операции не поможет.

    nodejs/node [github.com] - вот примерно, средний такой код из стандартной библиотеки.

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 22:13, спустя 10 минут 50 секунд

    @mathete, чистенько, но все равно пытается свалиться в лапша код )) но вообще да, если ES6, то уже более годно, чем jquery-zaebis-plugin

    Сапожник без сапог
  • Crank

    Сообщения: 542 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 22:18, спустя 4 минуты 50 секунд

    Сам только сегодня перешел со связки nginx + apache + mod_wsgi на nginx + uwsgi и очень рад что не поленился, чего и ТС рекомендую

  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 22:27, спустя 9 минут 10 секунд

    @phpdude, да, бизнес-логику на нём писать уныло. У меня примерно такое в голове: для админок, аналитики, e-commerce, crm, erp и т.п. джангу берём и не думаем, если не нужна производительность, которая решается окружением (железом, кешем и т.п.), а если надо побырочу чего-то скраулить в больших объёмах, разобрать, куда-то что-то отправить, да ещё и по websockets, то нода.

    Странные времена пошли. Раньше в топик про php приходили люди и говорили, что надо переписывать на python. А теперь в топик про python, приходит человек и говорит, что надо переписывать на js...

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 22:28, спустя 1 минуту 13 секунд

    Странные времена пошли. Раньше в топик про php приходили люди и говорили, что надо переписывать на python. А теперь в топик про python, приходит человек и говорит, что надо переписывать на js...

    @mathete, да вот ни пофиг. Ладно хоть еще пишут что-то, а не скатились в "дядя настрой мне группу вконтактике"

    Спустя 104 сек.

    а у меня вообще по поводу "быстро отпарсить" часто затык в том что откуда надо по быстрому, по быстрому нельзя ))) антиботы и тп. так вот, как мне нода поможет в этом?))))

    Сапожник без сапог
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 5 октября 2015 г. 22:36, спустя 8 минут 19 секунд

    @phpdude, нода никак не поможет)) если объёмы небольшие - могут помочь: tor, amazon.

    P.S.: надо сделать ежедневный конкурс - "капитан дня"

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 октября 2015 г. 22:46, спустя 10 минут 4 секунды

    P.S.: надо сделать ежедневный конкурс - "капитан дня"

    @mathete, претендуешь на то что победил в нем?)

    Спустя 15 сек.

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

    Спустя 17 сек.

    зы: это я щас с тобой посоревноваться решил за победное очко

    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 6 октября 2015 г. 0:18, спустя 1 час 31 минуту 59 секунд

    Борт прав

    Спустя 86 сек.

    Сам только сегодня перешел со связки nginx + apache + mod_wsgi на nginx + uwsgi и очень рад что не поленился, чего и ТС рекомендую

    @Crank, apache не использовал уже лет 5, лишний он какой-то со своими недомодами

    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!