Re: Тема для розмов
Хочете урізноманітнити нудну зустріч з родичами за столом - запитайте навіщо вирощувати щось на городі, якщо можна все купити в супермаркеті.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Інше → Тема для розмов
Сторінки Попередня 1 … 688 689 690 691 692 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
Хочете урізноманітнити нудну зустріч з родичами за столом - запитайте навіщо вирощувати щось на городі, якщо можна все купити в супермаркеті.
Хочете урізноманітнити нудну зустріч з родичами за столом - запитайте навіщо вирощувати щось на городі, якщо можна все купити в супермаркеті.
На випадок, коли війна, і найближчий оптовий склад розбомбили?
У 2022 дехто висаджував картоплю і між троєщинських багатоповерхівок. Що могло б мати сенс, якби ситуація навколо Києва погіршилась.
FakiNyan написав:frz написав:Дещо незручно робити фікси в докері, бо треба білдити після кожної зміни аби цю зміну побачити в роботі. Проте якось таки обійшов це місяці тому, після чого успішно забув як саме це робив.
volume mount?
Та ясно що треба редагувати код всередині докера, а не ззовні нього. Проте щось змінилося, я вже заходжу в консолі і всередині редагую, після цього перезаходжу на потрібну сторінку в веб-додатку, а воно не змінюється. Чи то якось по-хитрому треба зупиняти і запускати знову без білду щоб не чекати, чи шо.
А хоть що за мова? Може вам треба якийсь білд робити.
frz написав:FakiNyan написав:volume mount?
Та ясно що треба редагувати код всередині докера, а не ззовні нього. Проте щось змінилося, я вже заходжу в консолі і всередині редагую, після цього перезаходжу на потрібну сторінку в веб-додатку, а воно не змінюється. Чи то якось по-хитрому треба зупиняти і запускати знову без білду щоб не чекати, чи шо.
А хоть що за мова? Може вам треба якийсь біля робити.
Python, FastAPI.
Чомусь досі на Flask такого не було. Змінюєш код - докер автоматично фіксує зміни і апка їх відображає.
Не розумію в чому нюанс. FastAPI однозначно більш зрілий фреймворк і вже назад ніяк не можна. Але дуже незручно білдити після кожної зміни. Сильно затримується розробка.
frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?
frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?
Дякую, сходив туди. Там з того що стосується налаштувань:
uvicorn app_name:app --reload
ну це версія 2020 року, зараз воно в мене виглядає ось так:
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)
Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.
- Як ви вважаєте, це горнятко наполовину порожнє, чи наполовину повне?
- Нижня половина повна, верхня половина порожня.
- Цікава відповідь, а що вплинуло на таке ваше бачення?
- Гравітація.
Vo_Vik написав:frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?
Дякую, сходив туди. Там з того що стосується налаштувань:
uvicorn app_name:app --reload
ну це версія 2020 року, зараз воно в мене виглядає ось так:
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)
Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.
Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.
frz написав:Vo_Vik написав:frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?
Дякую, сходив туди. Там з того що стосується налаштувань:
uvicorn app_name:app --reload
ну це версія 2020 року, зараз воно в мене виглядає ось так:
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)
Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.
Поки що всі джерела говорять що Тру має бути записано у варіанті uvicorn.run так як є - з великої букви. Інша річ, що варіант
uvicorn app_name:app --reload
це виявляється не застаріла версія, а різновид "programmatic / non-programmatic" і саме цей варіант був в мене в версії з Flask, де reload працював коректно. Поки буду думати як повернутися до цього варіанту з FastAPI і чи це можливо.
Vo_Vik написав:frz написав:Дякую, сходив туди. Там з того що стосується налаштувань:
uvicorn app_name:app --reload
ну це версія 2020 року, зараз воно в мене виглядає ось так:
uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)
Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.
Поки що всі джерела говорять що Тру має бути записано у варіанті uvicorn.run так як є - з великої букви. Інша річ, що варіант
uvicorn app_name:app --reload
це виявляється не застаріла версія, а різновид "programmatic / non-programmatic" і саме цей варіант був в мене в версії з Flask, де reload працював коректно. Поки буду думати як повернутися до цього варіанту з FastAPI і чи це можливо.
Ще таке знайшов:
https://docs.docker.com/compose/file-watch/
Compose Watch is available in Docker Compose version 2.22 and later.
Use watch to automatically update and preview your running Compose services as you edit and save your code.
For many projects, this allows for a hands-off development workflow once Compose is running, as services automatically update themselves when you save your work.
Upd: детальніші пояснення налаштування watch в docker-compose
https://collabnix.com/what-is-docker-co … -it-solve/
Upd: як скачати свіжу версію аби не чіпати існуючу:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
/usr/local/bin/docker-compose -v
Docker Compose version v2.24.6
При цьому існуюча:
$ /usr/bin/docker compose version
Docker Compose version v2.21.0
Додав компонент develop / watch в налаштування docker-compose.yml:
...
ports:
- 81:8000
depends_on:
- some_container_name
develop:
watch:
- action: sync
path: ./src
target: /var/www/app
- action: rebuild
path: Dockerfile
запускаю
/usr/local/bin/docker-compose watch
(поки що не допомогло)
Upd: Виспався, пробую інший варіант:
develop:
watch:
- action: sync
path: ./src
target: /var/www/app
- action: rebuild
path: ./src/**/*
$ /usr/local/bin/docker-compose up --build -d
/usr/local/bin/docker-compose watch
Ось так спрацювало:
app-server:
container_name: sample-app-abc
env_file:
- manual/.env
build:
context: .
dockerfile: Dockerfile
hostname: recommender
restart: always
volumes:
- app_server_uploads:/opt/uploads
ports:
- 81:8000
depends_on:
- app-db
develop:
watch:
- action: sync+restart
path: ./src/app.py
target: /var/www/app/app.py
відповідно щоб додати більше файлів, мабуть потрібно буде використовувати маску, або ж вказати більше секцій типу
- action: sync+restart
path: ./src/some_file.py
target: /var/www/app/some_file.py
Це хіба не рестартує цілий контейнер замість рестарту py процесу всередині докера?
Хіба що у вас код не шариться між хостом і контейнером (https://docs.docker.com/storage/bind-mounts/), а копіюється контейнером при старті (https://docs.docker.com/storage/volumes/).
Щоб ця фіча спрацювала, довелося видалити волюм для цього сервісу.
Так, рестартує цілий контейнер.
Поки що більше файлів саме за маскою додати не вдалося. Виходить, що фіча сира, бо реагує лише на повний шлях файлу вказаний в конфігурації, або ж я щось невірно роблю. Поки що принаймні працює так як є, для мене це вже полегшення, бо не треба зупиняти і білдити вручну.
Тобто у вас був вол'юм, і ми міняли файли на хвості, відповідно всередині вол'юма нічого не мінялося. І ребілд самої Python аплікації би нічого не дав. Правильно?
Був вол'юм, міняв файли на хості і вони відповідно "самі" синкалися в запущений контейнер, однак це не рестартувало апку автоматично. При цьому ручний ребілд допомагав, але вимагав додаткових дій і це було незручно, а також забирало значно більше часу ніж тепер, можливо більше хвилини. Тепер це теж не миттєво, займає якийсь десяток секунд.
Коли девелопив на Flask, то чомусь зміни підхоплювалися автоматично і навіть той десяток секунд не треба було чекати. Не знаю чому погіршилося, апка не стала більш громіздкою. Але вже ок.
Не знаю, чи це весняний авітаміноз, вплив дощової погоди чи шо, але не проти поспати навіть декілька разів на день.
Не знаю, чи це весняний авітаміноз, вплив дощової погоди чи шо, але не проти поспати навіть декілька разів на день.
старість
frz написав:Не знаю, чи це весняний авітаміноз, вплив дощової погоди чи шо, але не проти поспати навіть декілька разів на день.
старість
Точно, ось якраз на рік ближче до пенсії став.
FakiNyan написав:frz написав:Не знаю, чи це весняний авітаміноз, вплив дощової погоди чи шо, але не проти поспати навіть декілька разів на день.
старість
Точно, ось якраз на рік ближче до пенсії став.
день народження?
frz написав:FakiNyan написав:старість
Точно, ось якраз на рік ближче до пенсії став.
день народження?
Так, вчора отримав класний домашній торт з горіхами від дружини. Завезли малечу на дитяче меню "картопля фрі + рибні наґетси" в нескучне курортне місце, самі теж щось символічне замовили. Побачили там ферму з рогатими оленями; безрогих багато всюди ходить і це не дивина, а щоб великі роги - це рідкість; чув що вони ще й доволі дорогі як прикраса, а час від часу їх скидають і вирощують нові. Був дуже сильний вітер. Сама ідея святкування для мене якась незрозуміла, нічого не відчуваю з цього приводу, поїхав більше щоб показати дітям нове цікаве місце. Торт з'їли майже одразу.