묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Vue.js - Django 연동 웹 프로그래밍 (실전편)
최신 현행화 영상 Play 안됩니다.
섹션 1. 최신 버전 현행화 가이드 영상이 정상적으로 Play가 안됩니다.
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
celery의 로그 설정을 django의 settings.py에서 따로 해줘야 하는게 있을까요?
django의 logger를 사용해 log를 출력하는 경우CELERYD_HIJACK_ROOT_LOGGER = False를 해줘야 하는지요?celery의 동작과 관련한 모든 기본 출력을 django log에 함께 출력하는 방법이 있는지도 알고 싶습니다.
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
django에서 view나 api에서 request를 celery로 넘길 수 있을까요?
django에서 view나 api로 받은 request 정보를 celery에 넘겨 client에게 응답 처리를 하게 만들 수 있을까요?시리얼라이저 문제로 celery에서 request를 arg로 받을 수 없는 것으로 알고 있습니다.그래도 tcp를 이용한 전송이기 때문에 가능은 할것 같은데어떻게 접근해야 될지 가늠이 되지 않아혹시 비슷한 고민을 해보신 적이 있으실까 싶어 이렇게 질문을 드려봅니다.
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?
작업의 처리 결과가 언제 종료될지 모르기 때문에 timeout 등의 설정은 하지 않은 전제에서child process에 작업을 수행하다가 lock이 발생하거나 이러한 문제로 좀비 프로세스가 되는 경우celery가 처리하는 루틴이 있는지 알고 싶습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
7-37번 강의 관련 커밋 페이지 오류인것같습니다.
7-37번강의에 관련 커밋으로 아래 처럼되어 있는데 delete 예시 url이 잘못연결되어 있는것같습니다.pre_save 예시 : slugify 자동 호출post_save 예시 : User 생성 시에 Profile 자동 생성post_delete 예시 : Profile 삭제 시에 관련 이미지 파일 자동 삭제django-lifecycle 예시 : blog.Post의 content/status 변경 탐지연결되야할 페이지: https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/563749a5be33f10ec46a166faf29bbaa0e1d7144현재 연결된 페이지: https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/714c274e0d6f26b68aa5bc75a9bf2a78c924633c인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
결제 실패
진행중 사진과 같이 정상적으로 카드정보 입력후 결제를 진행했음에도 불구하고결제실패로 출력됩니다.코드는 강의와 동일하고 또한 올려주신 깃허브 코드와도 비교하여 교차검증을 진행한 결과 동일합니다.디버깅시 오류 또한 존재하지 않습니다.이 경우 해결방안에 대해 어떻게 접근하는게 좋을지 알려주실 수 있을까요..?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
DLQ와 관련한 이전 질문의 추가 질문 입니다.
이전에 아래와 같이 답변을 주신 글이 있습니다.1. Consumer가 거절하는 경우는 대부분 Celery자체가 어떻게 처리해야 할지 몰라서 일어나는 경우고, 보통 그런경우 새로운 Queue를 만드셔서 넣어 놓으신다음에 엔지니어가 나중에 수동으로 처리하는 경우가 대부분이고, 많은 에러가 난다면 그 전체를 다시 Queue에 넣어 Consumer를 고친 다음에 처리합니다.2. ACK Timeout이 나는 경우 Broker에서 확답을 못 받았기 때문에 그 메세지는 그대로 있고, Consumer가 재시작하는 순간에 다시 Queue에서 불러와 처리할 수 있습니다.이에 추가적인 질문을 드리려 합니다.1번에 대한 질문에서 거절이라는 의미로 "celery에서 작업을 가져왔지만 어떻게 처리할지 모른다"는게 이해가 잘 가지 않네요.이미 구현된 코드에서 처리할지 모른다는 경우가 어떤게 있을까요? 잘못된 arguments는 에러가 발생할 테고, 작업에서 만약 DB나 I/O가 필요한데 해당 정보가 없다면... 이 또한 예외나 에러가 발생할 텐데.. 이러한 모든 상황은 3번에 포함되는 것이라 1번의 경우가 어떤게 있을지 예시를 혹시 들어주시면 감사드리겠습니다.2번에 대해 ack는 수신자가 전달하는 것인데 consumer는 queue에서 작업을 가져가서 처리하지만 queue에서는 ack를 timeout 내 수신하지 못한 상황이고, 이 때문에 queue에서 작업을 삭제하지 않았다면 consumer는 동일한 작업을 다시 가져가 중복처리를 하게 되는거 아닌가요? 이에 대한 처리는 실무에서는 어떻게 하는지 알고 싶습니다.
-
미해결Django 베이스캠프
상속작업에서
챕터 Template 에서 영상 35:09초 상속작업관련이해가 안가는게있습니다. 저는 base.html에 {% load static %}만 기입하고자식인 blog_list.html에서는 기입을 안 했는데, 모든 태그(h1, h2)가 색상이 변경된 상태 입니다. 장고는 5.0.6인데 이게 업데이트가 된건가요?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
task 에러를 signal로 잡는 부분에 대해 질문 드립니다.
task_failure에 대한 질문입니다.@task_failure.connect(sender=add) def task_failure_handler( sender, task_id, exception, args, kwargs, traceback, einfo, **kwargs_extra ): print(f"Task {task_id} has failed: {sender.name} with exception {exception}") task_failure_clean_up.delay(task_id=task_id) # type: ignor위 코드에서 print 에 대한 출력이 나오지 않더라고요강사님의 코드에서도 그렇고 제 코드에서도 출력이 안되던데 혹시 이유를 아시는가 싶습니다.
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
DLQ에 저장하는 패턴에 대해 질문 드립니다.
DLX에서 consumer가 DLQ에 에러를 저장하는 과정에 대해 이해가 잘 안되는 부분이 있습니다.에러가 발생하면 DLQ에 넣는다.다음 처리를 하는데 들어온 이벤트의 타입을 DLQ의 에러가 발생한 이전 이벤트 타입과 동일한지를 비교하여 같다면 있다면 DLQ에 넣는다2번 처리에서 consumer는 모든 작업을 수행하기 전 이벤트 타입을 DLQ에 있는 모든 이벤트 타입과 비교하는 작업을 한다는 전제인가요? 그렇다면 일반적으로 DLQ에 누적되는 각기 다른 이벤트 타입의 수가 많지 않을 것이기 때문에 (동일한 이벤트 타입들은 사실 1개로 처리) 이벤트 실행 중 발생하는 에러 결과를 DLQ에 넣는 것 보다, 작업 전 이미 발생한 에러 이벤트 타입과 비교하여 동일한 이벤트 들은 처리를 하기 전, DLQ에 넣는게 전체적으로 효율성이 높기 때문이라 볼 수 있는 것일까요?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
DLX에 대한 질문입니다.
message들은 아래와 같은 경우가 원인이 될 수 있다고 말씀 하셨습니다.1. consumer가 거절하는 경우2. 시간이 너무 오래 걸려 acknowledgment timeout이 발생한 경우3. 처리를 하는 동안 에러가 발생한 경우첨부된 pdf나 코드상에서 최종 언급되는 방법으로 3번에 대한 항목만 있는 것 같은데요두 가지 질문이 있습니다.1번 질문으로 1,2번 항목은 사실 consumer가 처리할 수 없는거 아닌가 생각되는데 redis를 사용하는 지금 프로젝트에서 따로 처리를 하는 방법이 방법이 어떻게 있을지 알고 싶습니다. 2번 질문으로 제가 알고 있기로 rabbitMQ에서 ack와 관련한 기능이 있는 것으로 알고 있습니다. 혹시 해당 작업을 해보신적이 있으시다면 어떻게 처리, 구현 하셨는지 알고 싶습니다.
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
[Django 5 버전 - 해결 방법] Method Not Allowed (GET)
장고 5 부터 LogoutView로의 요청은 POST 방식만 허용장고 버전을 올려 봤는데, 이러 이슈가 생길 수도 있네요 :)[30/Jun/2024 11:43:53] "GET /accounts/logout/ HTTP/1.1" 405 0 Method Not Allowed (GET): /accounts/logout/ Method Not Allowed: /accounts/logout/
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
기존 docker-compose는 admin의 깨져서 나옵니다.
gunicorn을 사용하면 nginx의 사용으로 static 제공이 되지 않으면 css, js가 다운로드 되지 않는 것으로 알고 있습니다.저장소의 celery 폴더에도 runserver를 사용하셨던데이 설명이 강의 초반부터 지금까지 못본것 같습니다.실습에 admin 페이지가 다 깨져 나오기 때문에모르는 다른 학습자 분들이 있다면 큰 어려움이 있을것 같습니다.직접 테스트 해보니 gunicorn 실행에는 admin이 다 깨져서 나오고 runserver로 실행하면 admin이 제대로 나오는 것을 확인하였습니다.docker-compose의 app 항목 추가 : command: > sh -c " python manage.py makemigrations && python manage.py migrate && gunicorn -b 0.0.0.0:8000 app.wsgi "
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
실습에 문제가 많아 수업노트보기의 저장소 코드를 확인해봤습니다.
코드를 직접 타이핑하여 테스트 하는데 문제가 많아 화면 하단에 있는 수업 노트 보기에 있는 저장소를 clone해 보았습니다.celery 폴더에 있는 docker-compose를 그대로 실행해보았습니다. 전제는 검증된 코드기 때문에 일단, 문제가 없을 것이고 해당 코드를 기반으로 제 문제를 추적하기 위해서 입니다.docker-compose를 실행하니 대부분의 컨테이너에서 문제가 발생하는 것을 확인하였습니다.여러 유료 강좌를 돈과 관계 없이 저에게 필요하다면 구매를 해서 보는 사용자로, 각 실습별로 코드가 제공되지 않는 것이 참 어렵다 생각했습니다.헌데 참고할 저장소의 코드도 신뢰할 수 없다는 것에 실망이 생깁니다.저장소의 코드에 대해 확인을 부탁 드리고자 합니다.
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
celery-standalone에 대한 질문입니다.
main.py와 celery.py의 코드가 수업 내용에 따라 어떻게 되는지 전체가 제공이 되지 않아 특히 main.py는 예상만 하며 따라하고 있습니다.그 중에 group에 대한 질문입니다.celery와 celery-standalone을 실행하면서각각 celery, celery:1, celery:2 그리고 celery:3, celery:4, celery:5를 각각 큐로 할당하였습니다.이때 task_router의 설정과 관련해서celery-standalone에서 add에 대한 task 작업 큐를 celery로 정의해도 동작하나요?아니면 자신의 celery에 할당된 큐에대해서 task 큐를 할당할 수 있는 것인가요?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.
"Celery Monitoring Tool, Flower에 대해 알아보기"에 main.py가 없어서 임의로 celery.py와 유사하게 작성하였습니다.celery와 celery-standalone이 동작하고 flow도 동작하게 만들었는데, 화면과 같이 broker가 보이지 않습니다.celery 하나만 보입니다.하지만, log를 확인하면 큐는 각각 3개씩 생성되는게 확인되었습니다.뿐만 아니라, workers에 나타나는 celery의 이름으로 되어 있는 링크를 누르면 unknown worker 'celery@...'로 출력됩니다.docker-compose의 코드는 화면과 동일하게 했습니다.docker-compose의 로그에는 flower와 관련하여 다음과 같은 로그가 확인됩니다.flower-1 | [I 240629 12:24:37 command:168] Visit me at http://0.0.0.0:5555flower-1 | [I 240629 12:24:37 command:176] Broker: redis://redis:6379/0flower-1 | [I 240629 12:24:37 command:177] Registered tasks: flower-1 | ['celery.accumulate',flower-1 | 'celery.backend_cleanup',flower-1 | 'celery.chain',flower-1 | 'celery.chord',flower-1 | 'celery.chord_unlock',flower-1 | 'celery.chunks',flower-1 | 'celery.group',flower-1 | 'celery.map',flower-1 | 'celery.starmap']flower-1 | [I 240629 12:24:37 mixins:228] Connected to redis://redis:6379/0flower-1 | [W 240629 12:24:38 inspector:44] Inspect method registered failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method stats failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method conf failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method scheduled failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method reserved failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method active_queues failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method revoked failedflower-1 | [W 240629 12:24:38 inspector:44] Inspect method active failed관련해서 어떻게 해결할 수 있는지 알고 싶습니다.제가 드린 정보가 부족하다면, celery.py main.py 를 남겨 주시면 감사 드리겠습니다.추가적으로app.conf.broker_transport_options 설정은 celery.py와 main.py 둘다 하는게 맞는건가요? 아니면 메인이라 생각되는 celery.py에만 설정하는게 맞는건가요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
component_js_dependencies 시 defer, async load
안녕하세요 강의 잘 수강하고 있습니다. django_components를 사용할 때template 에서 {% component_js_dependencies %}로 js 로드시 해당 script를 async, defer로 로드할 수 있는 방법이 있을까요?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
group에서 keyword arg를 전송할 때에 대해 알고 싶습니다.
group에서 숏컷이 .s를 붙이면 되는 걸로 알고 있습니다.이때, args와 kwargs가 같이 전송되어야 하는 경우 어떻게 해야 하는지 알고 싶습니다.
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
사이트 접속이 안돼요
http://mbit.weniv.co.kr/ 사이트 접속이 안돼요
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
뷰 폴더 복사하기 configureWebpack 에러
뷰 폴더 복사하기 강의를 듣고 있습니다. configureWebpack 를 추가하는 부분에서 에러가 발생합니다. configureWebpack: { plugins: [ new FileManagerPlugin({ events: { onStart: { delete: [ '../backend/static/**', '../backend/templates/**', ], }, onEnd: { copy: [ { source: './dist/static', destination: '../backend/static' }, { source: './dist/favicon.ico', destination: '../backend/static/img/' }, { source: './dist/home.html', destination: '../backend/templates/' }, { source: './dist/dashboard.html', destination: '../backend/templates/dashboard/' }, ], }, }, }), ], },위와 같이 따라서 코드를 입력했는데 다음의 에러가 발생합니다. ERROR Error loading vue.config.js: ERROR TypeError: defineConfig is not a function TypeError: defineConfig is not a function at Object.<anonymous> (E:\Enterprise\DonkeyJim\frontend\vue.config.js:5:18) at Module._compile (node:internal/modules/cjs/loader:1358:14) at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) at Module.load (node:internal/modules/cjs/loader:1208:32) at Module._load (node:internal/modules/cjs/loader:1024:12) at Module.require (node:internal/modules/cjs/loader:1233:19) at require (node:internal/modules/helpers:179:18) at Service.loadUserOptions (E:\Enterprise\DonkeyJim\frontend\node_modules\@vue\cli-service\lib\Service.js:283:22) at Service.init (E:\Enterprise\DonkeyJim\frontend\node_modules\@vue\cli-service\lib\Service.js:72:30) at Service.run (E:\Enterprise\DonkeyJim\frontend\node_modules\@vue\cli-service\lib\Service.js:204:10) 어떤 부분이 문제인지 모르겠습니다.