Size: a a a

Django [ru] #STAY HOME

2020 January 01

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Celery настраивается в 5-10 минут, простейшая сборка
Не понимаю, зачем мне селери (как дополнительная отдельная зависимость, что тянет за собой еще 2+ доп зависимости), которую надо постоянно мониторить, поддерживать и обновлять ради того чтоб раз в день запускать один простой скрипт?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Не понимаю, зачем мне селери (как дополнительная отдельная зависимость, что тянет за собой еще 2+ доп зависимости), которую надо постоянно мониторить, поддерживать и обновлять ради того чтоб раз в день запускать один простой скрипт?
rqworker, apscheduler - что угодно лучше чем crontab
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Не понимаю, зачем мне селери (как дополнительная отдельная зависимость, что тянет за собой еще 2+ доп зависимости), которую надо постоянно мониторить, поддерживать и обновлять ради того чтоб раз в день запускать один простой скрипт?
Пришёл в проект, в котором все считали также и поздно опомнились - 49 крон тасков пришлось переносить
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Пришёл в проект, в котором все считали также и поздно опомнились - 49 крон тасков пришлось переносить
Вот, видишь, ты начинаешь понимать. Твой пример - это край уже. Я не буду использовать для сложной огромной задачи, которая подразумевает в себе 49 подзадач и может отказать по разным причинам кронтаб
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Вот, видишь, ты начинаешь понимать. Твой пример - это край уже. Я не буду использовать для сложной огромной задачи, которая подразумевает в себе 49 подзадач и может отказать по разным причинам кронтаб
Началось ведь с 1-го:D
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Началось ведь с 1-го:D
Смотри мой пример про магазин и космолет
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Когда твой магазин переедет на другую планету и на автобусе уже будет неудобно, купишь/построишь звездолет
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Не нужно оверинжинирить сразу
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Кронтаб железно работает и прост как пробка
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Не нужно оверинжинирить сразу
Любой из данных мной примеров даётся за 5-6 минут, разницы никакой, в чем проблема?) в паре десятков мб на лишнюю библиотечку?)
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Любой из данных мной примеров даётся за 5-6 минут, разницы никакой, в чем проблема?) в паре десятков мб на лишнюю библиотечку?)
"библиотечку" - это ты смешно пошутил. Селери - огромный проект (включает в себя три пакета celery+kombu+billiard), для работы которого нужна работающая очередь (rabbitmq или redis), нужен полноценный мониторинг и мейнтенанс. У меня на паре больших проектов селери течет по памяти. Где-то я не могу обновить селери, потому что он конфликтует с каким-то другим пакетом или версией чего-то. Там сейчас открыто 327 issues на гитхабе, из которых я штук на 5 как минимум подписан и жду когда мейнтейнеры что-то с этим придумают
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
"библиотечку" - это ты смешно пошутил. Селери - огромный проект (включает в себя три пакета celery+kombu+billiard), для работы которого нужна работающая очередь (rabbitmq или redis), нужен полноценный мониторинг и мейнтенанс. У меня на паре больших проектов селери течет по памяти. Где-то я не могу обновить селери, потому что он конфликтует с каким-то другим пакетом или версией чего-то. Там сейчас открыто 327 issues на гитхабе, из которых я штук на 5 как минимум подписан и жду когда мейнтейнеры что-то с этим придумают
Здесь согласен, неправ, сам тоже упёрся в такие же проблемы и сейчас только собственный форк и pr спасают. Но что же с apscheduler, rq scheduler? Достаточно простые пакеты
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Здесь согласен, неправ, сам тоже упёрся в такие же проблемы и сейчас только собственный форк и pr спасают. Но что же с apscheduler, rq scheduler? Достаточно простые пакеты
Ура, смотри, мы куда-то движемся. Теперь ты понял что звездолет для магазина может быть немного слишком и предлагаешь самолеты
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
В целом, поработав некоторое время в software engineering начинаешь понимать, что лучший код - это когда кода нет :)

crontab это довольно простая приблуда, которая не требует никакой поддержки в общем и целом (в сравнении с другими вещами). Я всегда предпочту ее каким-то очередям и прочему пока она будет решать мою простую задачу
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
В целом, поработав некоторое время в software engineering начинаешь понимать, что лучший код - это когда кода нет :)

crontab это довольно простая приблуда, которая не требует никакой поддержки в общем и целом (в сравнении с другими вещами). Я всегда предпочту ее каким-то очередям и прочему пока она будет решать мою простую задачу
Согласен, но я ещё предпочитаю меньше кода и в будущем, поэтому считаю что задачи уровня приложения не должны решаться на уровне ос:D
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Ура, смотри, мы куда-то движемся. Теперь ты понял что звездолет для магазина может быть немного слишком и предлагаешь самолеты
По мне так rq scheduler - пакет уровня «велосипед» - подключал когда celery был слишком жирным
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
По мне так rq scheduler - пакет уровня «велосипед» - подключал когда celery был слишком жирным
Для скедулера нужен еще редис как минимум. Это может быть лишним и еще одна точка отказа
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Человек сказал, что он изучает еще django, не нужно сходу бросать его в глубоководную реку. Крон прекрасно справится с поставленной задачей, все будет работать. Когда человек упрется в лимиты, можно будет улучшить.
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Для скедулера нужен еще редис как минимум. Это может быть лишним и еще одна точка отказа
Контейнер с дампом в volume и мониторинг встроенный в Django admin - хотя бы сразу видно будет что, как и когда сломалось:)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Человек сказал, что он изучает еще django, не нужно сходу бросать его в глубоководную реку. Крон прекрасно справится с поставленной задачей, все будет работать. Когда человек упрется в лимиты, можно будет улучшить.
Примерно так же мне оправдались бывшие разработчики проекта, которые потом 5 лет поддерживали и расширяли список этих задачек, не думая о последствиях, а один из них теперь в booking:D
источник