Pull to refresh
8
0.2
Владимир Беркутов @Dair_Targ

User

Send message

Оговорюсь сразу, я тут не священную войну веду, а просто выдаю детали возможного решения на django+celery, что б сравнить и понять когда что будет более уместно:)

Понятно, то есть с celery нужно будет писать и саму management-команду и обвязку для нее с декоратором task. django-chronograph убирает часть с @task.

Там команда одна сразу на всё будет, и она реально две строчки:

@shared_task
def call_command_task(*args, **kwargs):
  return call_command(*args, **kwargs)

Например отложенный запуск. Мы можем запланировать выполнение команды не в прайм-тайм. Но и CI/CD и CLI мы тоже активно используем.

Вот только что для себя открыл, что в гитлабе есть:

а) отложенные задачи: https://docs.gitlab.com/ee/ci/jobs/job_control.html#run-a-job-after-a-delay
б) возможность запускать пайплайны по расписанию https://docs.gitlab.com/ee/ci/pipelines/schedules.html

И, насколько я понимаю, это всё может быть параметризовано переменными окружения, которые, опять же, можно задавать во время запуска. Собственно в одном из проектов я наблюдаю порядка десятка не-инженеров запускающих пайплайны с разными параметрами в зависимости от собственных нужд.

В итоге, если есть инструмент, который устраивает и к которому все привыкли – естественно стоит его использовать. А вот если новый проект начинать, кмк для описанного случая gitlab pipelines выглядит более предпочтительно из-за большей функциональности и активной поддержки. Конечно же это в отсутствие других условий вроде отсутствия гитлаба в инфраструктуре:)

Работать на корпорации бесплатно в свое свободное время? Или вы можете дать много примеров активного опенсорса, где нет явных корпоративных интересов?

Не комментатор выше, но попробую ответить. Если делать с нуля без третьих библиотек, то:

  1. Берём call_command (doc)

  2. Оборачиваем в самом общем виде в celery task (doc)

  3. В админке делаем форму с параметрами для конкретной задачи (on get show form, on post submin/bind the task) и страницу статуса (on get show the task progress or result).

Это если с нуля делать. Основные недостатки:

  1. В лоб нельзя автоматом получить форму из management command arg parser и наоборот. Такие решения есть, но опять же придётся подбирать стороннюю библиотеку.

  2. Проверку статуса задач хорошо бы делать не через формы, а вытаскивать через api. Сильно подозреваю, что есть готовые решения - но опять же это будут третьи библиотеки, в celery такого не припомню.

  3. Придётся ещё и js-код писать для этих страниц результата/статуса.

В общем выглядит как написание своей нетривиальной библиотеки для django, которую потом можно и нужно самим же выкладывать в открытый доступ для облегчения поддержки:)

p.s. Можете поделиться деталями - а в каких случаях нужно команды из админки запускать? Потому что в проектах, над которыми я работаю, пока полностью устраивает даже "нетехнических" людей в одном случае запуск как часть gitlab pipelines (заодно и полный аудит и история), а в другом - просто из cli (`docker exec ... python manage.py my_command`, только не локально, а в docker swarm).

И в энтерпрайзе тоже на скорость работы именно языка почти всегда плевать потому, что почти все задачи io bound, и решает скорость разработки и наличие программистов.

Альтернативой зеркальной антенне может быть фазированная антенная решётка. У неё отличные технические характеристики, но и высокая цена. Пользовательский терминал на основе решётки будет иметь стоимость порядка нескольких миллионов рублей, в зависимости от серии и размера апертуры.

Как так получается, что Маск терминалы в пределах 2500$ (порядка 200 тыс. руб.) продает с установкой, а тут вдруг миллионы? Они что, 5х5 метров?

Но я считаю, что мы можем более согласованно сойтись на том, каким хотим видеть язык

Не можем, и это - одна из причин популярности php, python, c++, java и прочих подобных. Пока одна группа людей будет тратить время на выяснение того, какой подход – самый лучший, вторая будет писать больше прикладного кода так, как получается, и склеивать используя более гибкий язык.

В итоге у первой будет красивый hello world, а у второй - таки работающий продукт.

Свободный Steam и авторитарный VKPlay, смотри не перепутай!

В третьей версии все поля опциональные по-умолчанию. Так что они на эту же проблему нарвались, как, кстати, и другие компании.

Ехать за фурой - это нарушение ПДД так-то. Оно и для опытных водителей опасно, а новичкам советовать - отличный способ уменьшить число этих самых новичков. Выключать фары - туда же.

Вообще да, для астрономов, например, целый курс про летоисчисления и время

И какой же у конкретных людей оклад? Покажете документы, или написали комментарий что бы написать?

Часть кода будет жить в статическом файле и будет провалидирована на старте, изменять её сможет не-технический специалист.

О сколько нам открытий чудных… Вам придется выбирать два из трех: правки нетехническим специалистом, текстовый формат, markup language.

Кроме того у вас фактически получается неявная машина состояний с фиксированными переходами между этими состояниями. В свою очередь либо все выльется в DSL, если продолжите добавлять возможности в yaml описание бота, либо в то, что «менеджеры» смогут максимум опечатки в тексте править.

Желаю удачи:)

А вот форбс и экономист рассказывают, что это из-за продуктивности, которую вы измеряете в номинальных долларах. Кому верить?

в физических рассчетах все хорошо, но как только дело доходит до маркетинга/социологии/чего-то странного, то либо все сваливается в безразмерные величины (эдакий математический void*), либо нужно почти с нуля свою доменно-ориентированную систему городить, причем, в отличие от СИ, быстро-быстро.

Поддержу. Для разработчика часто: если фичу выкатили без проблем - хорошо, а если пришлось после этого героически чинить прод - то это уже шаг к квартальному бонусу. В результате тесты разработке может и помогают, а вот разработчику слегка мешают.

Если на США нападёт условная инопланетная цивилизация, обладающая качественным превосходством в технологиях и экономике, то процесс падения и результат не сильно будет от Джамахирии отличаться:)

Нормальная ситуация - 50% страны живущая в одном городе. Именно такие страны любят урбанисты.

Менеджер и техлид запихиваются в комнату (можно виртуальную). Как примут совместное решение - можно выпускать.

Спасибо за материал!

К сожалению, есть фактические ошибки: у вас карты мало того, что противоречат российскому законодательству и действительности (Крым и новые области в России и не в ENTSO-E), так они ещё и друг другу противоречат (в какой из систем Прибалтика?). Также UCTE в ENTSO-E превратилось 13 лет назад.

https://en.wikipedia.org/wiki/International_Standard_Classification_of_Education (на русском https://ru.wikipedia.org/wiki/Международная_стандартная_классификация_образования , но там деталей меньше(

Достаточно здравая международная шкала. И специалистов из более-менее годных ВУЗов вполне приравнивают к мастеру - 7 уровень. Только бумажек перевести надо больше одной, что бы подтвердить сроки обучения.

1
23 ...

Information

Rating
2,094-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity