inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

07-33 데이터 로드 에러

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

올려주신 코드에서 ManyToMany 관계를 맺기 전에 pk(즉, id) 값이 필요하기 때문에 bulk_create를 수행하고 tag_set.add 매서드를 호출한다고 강의에서 설명해주셨습니다. def create_posts(orig_post_list): """포스팅 생성""" category_dict = {category.name: category for category in Category.objects.all()} tag_dict = {tag.name: tag for tag in Tag.objects.all()} user_list = list(User.objects.all()) post_list = [] for orig_post in orig_post_list: post = Post( category=category_dict[orig_post["category_name"]], author=choice(user_list), title=orig_post["title"], status=choice([Post.Status.DRAFT, Post.Status.PUBLISHED]), content=orig_post["content"], ) post._tag_list = orig_post["tag_list"] post.slugify() post_list.append(post) if post_list: print(f"{len(post_list)} 개의 포스팅 생성") Post.objects.bulk_create(post_list, batch_size=1000) for post in post_list: _tag_list = [tag_dict[tag_name] for tag_name in post._tag_list] post.tag_set.add(*_tag_list) 그러나 해당 코드를 실행 시 여전히 tag_set.add를 위해서는 id가 필요하다고 에러가 발생합니다. 사용 중인 DB는 mysql 이며, 일단 임시 변통으로 bulk_create 전에 id를 직접 할당하여 해결하였습니다. for idx, orig_post in enumerate(orig_post_list): post.id = idx + 1 # id는 0이 될 수 없음 그러나 이는 --clear argument를 주었기 때문에 가능한 행위였습니다. 수정하기 위해서 하기와 같은 방법이 적절할까요? 그리고 왜 제 경우만 에러가 발생하는 걸까요? if post_list: print(f"{len(post_list)} 개의 포스팅 생성") Post.objects.bulk_create(post_list, batch_size=1000) tag_lists = [t for t in orig_post["tag_list"]] post_list = Post.objects.all() # id 로드를 위함 for post, tag_list in zip(post_list, tag_lists): _tag_list = [tag_dict[tag_name] for tag_name in tag_list] post.tag_set.add(*_tag_list)

  • react
  • python
  • django
  • web-api
  • htmx
pplkjh2 댓글 2 좋아요 0 조회수 197

settings.json과 extensions.json의 내용은 어디서 가져오나요? 강의 영상에는 그냥 text파일에 저장된 것을 가져오는데.. 어디서 가져오는 모르겠습니다

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • python
  • django
  • web-api
  • htmx
dsoh 댓글 1 좋아요 0 조회수 183

오류

미해결

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

안녕하세요 강사님. 강사님의 강의를 보고 블로그를 직접 만들어서 현재 공부기록을 올리고 있었습니다. 그러던 중에 갑자기 오류가 나면서 제 웹사이트에 접속이 안되는 문제가 발생하였습니다. 도메인은 giyeonss.com 입니다. 어떻게 해야 하나요?

  • HTML/CSS
  • javascript
  • python
  • django
  • bootstrap
  • aws
  • docker
  • tdd
최기연 댓글 1 좋아요 0 조회수 272

product level에서 celeryd를 사용하시나요?

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

명령어가 아닌, docker 컨테이너에서 데몬으로 만들어 사용해 보려고 celeryd를 https://celery-safwan.readthedocs.io/en/latest/userguide/daemonizing.html 위 레퍼런스를 따라 설정을 해보았는데 이틀동안 작업을 해보았지만, 결코 celery가 작업을 가져가지 않더라고요. 혹시 사용해 보신적이 있다면 제가 사용한 설정 내용에서 오류가 있는지 확인을 부탁드려도 될까요? # Names of nodes to start # most people will only start one node: CELERYD_NODES="worker1" # but you can also start multiple and configure settings # for each in CELERYD_OPTS #CELERYD_NODES="worker1 worker2 worker3" # alternatively, you can specify the number of nodes to start: #CELERYD_NODES=10 # Absolute or relative path to the 'celery' command: CELERY_BIN="/usr/local/bin/celery" #CELERY_BIN="/virtualenvs/def/bin/celery" # App instance to use # comment out this line if you don't use an app CELERY_APP="config" # or fully qualified: #CELERY_APP="proj.tasks:app" # Name of the projects settings module. export DJANGO_SETTINGS_MODULE="config.settings.dev" # Where to chdir at start. CELERYD_CHDIR="/www/test-project" CELERYBEAT_CHDIR="/www/test-project" # Extra command-line arguments to the worker CELERYD_OPTS="--time-limit=300 --concurrency=2" # Configure node-specific settings by appending node name to arguments: #CELERYD_OPTS="--time-limit=300 -c 8 -c:worker2 4 -c:worker3 2 -Ofair:worker1" # Set logging level to DEBUG #CELERYD_LOG_LEVEL="DEBUG" # Name of the celery config module. # CELERY_CONFIG_MODULE="config.celery" CELERYD_LOG_LEVEL="INFO" # %n will be replaced with the nodename. CELERYD_LOG_FILE="/log/gunicorn/celery/celery-%n%I.log" CELERYD_PID_FILE="/log/gunicorn/celery/celery-run-%n.pid" CELERYBEAT_LOG_FILE="/log/gunicorn/celerybeat/celerybeat.log" CELERYBEAT_PID_FILE="/log/gunicorn/celerybeat/celerybeat-run.pid" # Workers should run as an unprivileged user. CELERYD_USER="root" CELERYD_GROUP="root" # If enabled pid and log directories will be created if missing, # and owned by the userid/group configured. CELERY_CREATE_DIRS=1

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 0 조회수 265

최신 현행화 영상 Play 안됩니다.

해결됨

Vue.js - Django 연동 웹 프로그래밍 (실전편)

섹션 1. 최신 버전 현행화 가이드 영상이 정상적으로 Play가 안됩니다.

  • vue.js
  • django
  • vuetify
ai.team 댓글 2 좋아요 0 조회수 343

celery의 로그 설정을 django의 settings.py에서 따로 해줘야 하는게 있을까요?

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

django의 logger를 사용해 log를 출력하는 경우 CELERYD_HIJACK_ROOT_LOGGER = False를 해줘야 하는지요? celery의 동작과 관련한 모든 기본 출력을 django log에 함께 출력하는 방법이 있는지도 알고 싶습니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 382

django에서 view나 api에서 request를 celery로 넘길 수 있을까요?

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

django에서 view나 api로 받은 request 정보를 celery에 넘겨 client에게 응답 처리를 하게 만들 수 있을까요? 시리얼라이저 문제로 celery에서 request를 arg로 받을 수 없는 것으로 알고 있습니다. 그래도 tcp를 이용한 전송이기 때문에 가능은 할것 같은데 어떻게 접근해야 될지 가늠이 되지 않아 혹시 비슷한 고민을 해보신 적이 있으실까 싶어 이렇게 질문을 드려봅니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 268

child process에 lock/좀비 프로세스가 발생하면 어떻게 처리되나요?

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

작업의 처리 결과가 언제 종료될지 모르기 때문에 timeout 등의 설정은 하지 않은 전제에서 child process에 작업을 수행하다가 lock이 발생하거나 이러한 문제로 좀비 프로세스가 되는 경우 celery가 처리하는 루틴이 있는지 알고 싶습니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 271

7-37번 강의 관련 커밋 페이지 오류인것같습니다.

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

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 문의하기를 이용해주세요.

  • react
  • python
  • django
  • web-api
  • htmx
백종성 댓글 1 좋아요 0 조회수 143

결제 실패

미해결

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

진행중 사진과 같이 정상적으로 카드정보 입력후 결제를 진행했음에도 불구하고 결제실패로 출력됩니다. 코드는 강의와 동일하고 또한 올려주신 깃허브 코드와도 비교하여 교차검증을 진행한 결과 동일합니다. 디버깅시 오류 또한 존재하지 않습니다. 이 경우 해결방안에 대해 어떻게 접근하는게 좋을지 알려주실 수 있을까요..?

  • python
  • django
최은택 댓글 1 좋아요 0 조회수 260

DLQ와 관련한 이전 질문의 추가 질문 입니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

이전에 아래와 같이 답변을 주신 글이 있습니다. 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
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 2 좋아요 1 조회수 298

상속작업에서

미해결

Django 베이스캠프

챕터 Template 에서 영상 35:09초 상속작업관련 이해가 안가는게있습니다. 저는 base.html에 {% load static %}만 기입하고 자식인 blog_list.html에서는 기입을 안 했는데, 모든 태그(h1, h2)가 색상이 변경된 상태 입니다. 장고는 5.0.6인데 이게 업데이트가 된건가요?

  • HTML/CSS
  • python
  • django
  • powershell
  • python3
SeongBaek CHO 댓글 1 좋아요 0 조회수 232

task 에러를 signal로 잡는 부분에 대해 질문 드립니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

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 에 대한 출력이 나오지 않더라고요 강사님의 코드에서도 그렇고 제 코드에서도 출력이 안되던데 혹시 이유를 아시는가 싶습니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 0 조회수 232

DLQ에 저장하는 패턴에 대해 질문 드립니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

DLX에서 consumer가 DLQ에 에러를 저장하는 과정에 대해 이해가 잘 안되는 부분이 있습니다. 에러가 발생하면 DLQ에 넣는다. 다음 처리를 하는데 들어온 이벤트의 타입을 DLQ의 에러가 발생한 이전 이벤트 타입과 동일한지를 비교하여 같다면 있다면 DLQ에 넣는다 2번 처리에서 consumer는 모든 작업을 수행하기 전 이벤트 타입을 DLQ에 있는 모든 이벤트 타입과 비교하는 작업을 한다는 전제인가요? 그렇다면 일반적으로 DLQ에 누적되는 각기 다른 이벤트 타입의 수가 많지 않을 것이기 때문에 (동일한 이벤트 타입들은 사실 1개로 처리) 이벤트 실행 중 발생하는 에러 결과를 DLQ에 넣는 것 보다, 작업 전 이미 발생한 에러 이벤트 타입과 비교하여 동일한 이벤트 들은 처리를 하기 전, DLQ에 넣는게 전체적으로 효율성이 높기 때문이라 볼 수 있는 것일까요?

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 233

DLX에 대한 질문입니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

message들은 아래와 같은 경우가 원인이 될 수 있다고 말씀 하셨습니다. 1. consumer가 거절하는 경우 2. 시간이 너무 오래 걸려 acknowledgment timeout이 발생한 경우 3. 처리를 하는 동안 에러가 발생한 경우 첨부된 pdf나 코드상에서 최종 언급되는 방법으로 3번에 대한 항목만 있는 것 같은데요 두 가지 질문이 있습니다. 1번 질문으로 1,2번 항목은 사실 consumer가 처리할 수 없는거 아닌가 생각되는데 redis를 사용하는 지금 프로젝트에서 따로 처리를 하는 방법이 방법이 어떻게 있을지 알고 싶습니다. 2번 질문으로 제가 알고 있기로 rabbitMQ에서 ack와 관련한 기능이 있는 것으로 알고 있습니다. 혹시 해당 작업을 해보신적이 있으시다면 어떻게 처리, 구현 하셨는지 알고 싶습니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 174

[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/

  • python
  • django
snow 댓글 1 좋아요 0 조회수 312

기존 docker-compose는 admin의 깨져서 나옵니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

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 "

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 2 좋아요 1 조회수 228

실습에 문제가 많아 수업노트보기의 저장소 코드를 확인해봤습니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

코드를 직접 타이핑하여 테스트 하는데 문제가 많아 화면 하단에 있는 수업 노트 보기에 있는 저장소를 clone해 보았습니다. celery 폴더에 있는 docker-compose를 그대로 실행해보았습니다. 전제는 검증된 코드기 때문에 일단, 문제가 없을 것이고 해당 코드를 기반으로 제 문제를 추적하기 위해서 입니다. docker-compose를 실행하니 대부분의 컨테이너에서 문제가 발생하는 것을 확인하였습니다. 여러 유료 강좌를 돈과 관계 없이 저에게 필요하다면 구매를 해서 보는 사용자로, 각 실습별로 코드가 제공되지 않는 것이 참 어렵다 생각했습니다. 헌데 참고할 저장소의 코드도 신뢰할 수 없다는 것에 실망이 생깁니다. 저장소의 코드에 대해 확인을 부탁 드리고자 합니다.

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 2 좋아요 1 조회수 259

celery-standalone에 대한 질문입니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

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 큐를 할당할 수 있는 것인가요?

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 1 좋아요 1 조회수 185

Celery Monitoring Tool, Flower에 대해 알아보기에 질문 있습니다.

미해결

실리콘밸리 엔지니어와 함께하는 샐러리(Celery)

"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:5555 flower-1 | [I 240629 12:24:37 command:176] Broker: redis://redis:6379/0 flower-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/0 flower-1 | [W 240629 12:24:38 inspector:44] Inspect method registered failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method stats failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method conf failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method scheduled failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method reserved failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method active_queues failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method revoked failed flower-1 | [W 240629 12:24:38 inspector:44] Inspect method active failed 관련해서 어떻게 해결할 수 있는지 알고 싶습니다. 제가 드린 정보가 부족하다면, celery.py main.py 를 남겨 주시면 감사 드리겠습니다. 추가적으로 app.conf.broke r_transport_options 설정은 celery.py 와 main.py 둘다 하는게 맞는건가요? 아니면 메인이라 생각되는 celery.py 에만 설정하는게 맞는건가요?

  • django
  • celery
  • django-celery
  • django-celery-beat
bluebamus 댓글 3 좋아요 1 조회수 578

인기 태그

인프런 TOP Writers

주간 인기글