묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬/장고로 결제 시작하기 (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) 어떤 부분이 문제인지 모르겠습니다.
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
webpack devserver 에러
현재 sec4에 webpack devserver 부분을 수강 중입니다. 강의에서는 devServer에 index 만 넣어도 잘 되는데 제가 했을 때는 잘 안 되었고, 다음과 같은 에러가 떴습니다. ERROR ValidationError: Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. - options has an unknown property 'index'. These properties are valid: object { allowedHosts?, bonjour?, client?, compress?, devMiddleware?, headers?, historyApiFallback?, host?, hot?, http2?, https?, ipc?, liveReload?, magicHtml?, onAfterSetupMiddleware?, onBeforeSetupMiddleware?, onListening?, open?, port?, proxy?, server?, setupExitSignals?, setupMiddlewares?, static?, watchFiles?, webSocketServer? } chatGPT에 물어보니 다음과 같이 해야 한다고 답변을 받았습니다. devServer: { static: { directory: path.join(__dirname, 'dist'), watch: true, }, historyApiFallback: { rewrites: [ { from: /^\/home$/, to: '/home.html' }, { from: /^\/dashboard$/, to: '/dashboard.html' }, { from: /./, to: '/index.html' } // 모든 기타 요청을 index.html로 리디렉션 ] } },그런데 이렇게 해도 Cannot GET / 에러만 뜨고 화면이 나오지 않는데 어떤 부분이 문제인지 모르겠습니다. 현재 저는 강의를 들으면서 블로그를 만드는 것을 그대로 따라하지 않고 제가 만들고 싶은 것을 제작하는 중입니다.
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
Celery 수업중 세팅 질문드립니다.
안녕하세요! 강사님의 좋은 강의덕에 완강을 눈앞에 두고 있습니다! 현재 celery 파트 강의를 듣는중 docker 환경이 아니라 로컬에서의 celery 세팅방법을 알려주시면 감사하겠습니다ㅠㅠ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
sql 환경 변수 경고 & postgresql 연동
강의를 보면서 따라하고 있는데, 2가지 문제점이 있습니다.우선 첫번째는 아래처럼, 환경 변수 관련 경고가 뜬다는 것입니다.두번째로는 강의에서는 파이참으로 진행하셨는데, 저는 vs 코드로 진행하여서 sqltools를 다운받아, 드라이브 설치후 진행하였는데 mysql은 잘 연동되었는 postgresql은 연동이 안되더라고요. 앞선 환경변수 문제와 관련이 있는것인지 아니라면 어떻게 해결해야하는것인지 궁금합니다.오류 코드docker-compose up -dWARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.WARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.WARN[0000] The "g" variable is not set. Defaulting to a blank string.WARN[0000] The "z" variable is not set. Defaulting to a blank string.WARN[0000] The "gl8f5tn_" variable is not set. Defaulting to a blank string.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
엑셀 파일 생성 중에 cannot be used in worksheets 에러 발생
안녕하세요.강의와는 무관한 질문이지만 본 강의 수강 완료 후 혼자서 프로젝트를 하고 있습니다.현재 구글 리뷰 크롤링 & 스크랩중인데요. 해당 에러가 발생하는 이유를 도무지 찾을 수 가 없어서 질문 드립니다...여러 사이트를 크롤링 해보고 엑셀을 생성 해 보았지만 왜 이런 에러가 발생하는지 로그를 봐도 제대로 표시가 안되니깐 찾기가 힘드네요.구글 리뷰 사이트만 20여개 스크랩 했었고 엑셀도 제대로 생성 되었으니 스크랩 코드 자체에는 문제가 없는거 같습니다. 다만 이 부분에서만 문제가 생깁니다.### 에러 발생 로그[2024-06-12 09:42:59,954] [ERROR utils.py:179] >>Traceback (most recent call last): File "scraper\scrap_crawlers.py", line 1365, in get_review_details File "scraper\utils.py", line 202, in create_xlsx_file File "scraper\utils.py", line 181, in create_xlsx_file File "pandas\util\_decorators.py", line 333, in wrapper File "pandas\core\generic.py", line 2417, in to_excel File "pandas\io\formats\excel.py", line 952, in write File "pandas\io\excel\_openpyxl.py", line 490, in writecells File "openpyxl\cell\cell.py", line 218, in value File "openpyxl\cell\cell.py", line 197, in bindvalue File "openpyxl\cell\cell.py", line 165, in check_stringopenpyxl.utils.exceptions.IllegalCharacterError: 동생한테추천받았는데이렇게편한어플이있다니너무좋아요.현금비율은좋지않지만 신경많이안써도되서괜찮네요~ cannot be used in worksheets.During handling of the above exception, another exception occurred:###cannot be used in worksheets. 이놈이 말썽이네요...아래와 같이 테스트 케이스 만들어서 적용했을 때는 제대로 작동했었습니다.import asyncio from scraper.utils import create_xlsx_file, save_to_xlsx DEFAULT_NAME = "test" async def main(): data = { "message": "동생한테추천받았는데이렇게편한어플이있다니너무좋아요.현금비율은좋지않지만 신경많이안써도되서괜찮네요~" } xlsx_file = await create_xlsx_file( data, file_name=DEFAULT_NAME, sheet_name=DEFAULT_NAME ) await save_to_xlsx(xlsx_file, DEFAULT_NAME) asyncio.run(main()) # utils.py # 엑셀 가로 폭 조정하는 함수 async def calculate_dimension(worksheet: Worksheet) -> None: try: for column_cells in worksheet.iter_cols(): length = max(len(str(cell.value)) for cell in column_cells) adjusted_width = (length + 2) * 1.2 # 조정된 폭 계산 column_letter = get_column_letter(column_cells[0].column) worksheet.column_dimensions[column_letter].width = adjusted_width except Exception as e: message = f"엑셀 폭 조정 중에 예외 발생: '\n{e}" logger = await get_logger() logger.error(message) print(message) raise e # 엑셀에 서식 스타일 지정하는 함수 async def cell_pattern_fill( df: pd.DataFrame, worksheet: Worksheet, head_fill_color: str = "4472C4", head_font_color: str = "FFFFFF", body_fill_color: str = "D9E1F2", body_font_color: str = "000000", head_border_color: str = "2E5C99", body_border_color: str = "B4C6E7", fill_type: fills = "solid", ) -> None: try: # Define border styles thin_border_head = Border( left=Side(border_style="thin", color=head_border_color), right=Side(border_style="thin", color=head_border_color), top=Side(border_style="thin", color=head_border_color), bottom=Side(border_style="thin", color=head_border_color), ) thin_border_body = Border( left=Side(border_style="thin", color=body_border_color), right=Side(border_style="thin", color=body_border_color), top=Side(border_style="thin", color=body_border_color), bottom=Side(border_style="thin", color=body_border_color), ) # Set header row style for row in worksheet.iter_rows( min_row=1, max_row=1, min_col=1, max_col=df.shape[1] ): for cell in row: cell.fill = PatternFill( start_color=head_fill_color, end_color=head_fill_color, fill_type=fill_type, ) cell.font = Font(color=head_font_color, bold=True) cell.border = thin_border_head # Set body row style for i, row in enumerate( worksheet.iter_rows( min_row=2, max_row=worksheet.max_row, min_col=1, max_col=df.shape[1] ) ): for cell in row: if i % 2 == 0: cell.fill = PatternFill( start_color=body_fill_color, end_color=body_fill_color, fill_type=fill_type, ) cell.font = Font(color=body_font_color) cell.border = thin_border_body except Exception as e: message = f"엑셀 서식 지정 중에 예외 발생: '\n{e}" logger = await get_logger() logger.error(message) print(message) raise e # 본 강의 drf 엑셀 생성 파트를 참고해서 만든 엑셀 생성 함수 async def create_xlsx_file( data: Union[Dict, List], file_name: str = DEFAULT_DIR_NAME, sheet_name: str = DEFAULT_DIR_NAME, ) -> BytesIO: df = pd.json_normalize(data) io = BytesIO() io.name = file_name try: writer = pd.ExcelWriter(io, engine="openpyxl") # noqa df.to_excel( writer, index=False, engine="openpyxl", sheet_name=sheet_name, ) workbook = writer.book worksheet = workbook.active tasks = [ calculate_dimension(worksheet), cell_pattern_fill(df, worksheet), ] await tqdm.gather(*tasks, desc=f" 엑셀 파일 생성중") writer._save() # noqa except Exception as e: message = f"엑셀 생성 중에 예외 발생: '\n{e}" logger = await get_logger() logger.error(message) print(message) raise e io.seek(0) return io # 엑셀 저장 함수 async def save_to_xlsx( xlsx_file: BytesIO, dirname: str = DEFAULT_DIR_NAME, ): output_path = BASE_DIR / "스크랩_결과" / "엑셀" / dirname output_path.mkdir(parents=True, exist_ok=True) now = datetime.datetime.now() timestamp = now.strftime("%Y-%m-%d_%H_%M") filename = f"{xlsx_file.name}_{timestamp}" extension = ".xlsx" file_path = output_path / (filename + extension) try: async with aiofiles.open(file_path, "wb") as f: await f.write(xlsx_file.getvalue()) except Exception as e: message = f"엑셀 파일 저장 중에 예외 발생: '{filename}'\n{e}" logger = await get_logger() logger.error(message) print(message) raise e전체적인 함수는 위와 같으며 엑셀 생성 중에 에러가 발생하였으니 create_xlsx_file 함수 부분에서 해결을 해보아야 할것 같습니다.아니면 혹시 엑셀의 행을 생성 중에 에러가 발생하였을 때 해당 행은 스킵하고 이어서 진행하게 하는 방법이 있을까요?? "raise e"을 발생 시키지 않아도 엑셀 생성 작업 스킵이 되지않고 작업 자체에 문제가 생기네요
-
해결됨실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
SNS 처럼 사용하기
강의 잘봤습니다! 혹시 SNS 와 같이 하나의 동일한 메세지(task) 를 여러 Worker 가 동작하게 만들 수 도 있을까요?