저번에 sentry 관련으로 스팬이 너무 많이 차서 문제를 해결해보았었다.
저번에 해결한 사항은 issue 제외한 모든 메세지 지우기
그런데 이번에도 또 스팬이 꽉꽉 들어차있었다.
이거는 이제 다른 곳에서 문제가 발생하고 있는 것 같았다.
그래서 스윽 보니, 헬스 체크하는데에서 5초에 한번씩 헬스체크를 진행하는데 이거를 저장하다보니 발생한 문제 같았다.
5초에 1번이면.. 1분에 12번... 1시간에 720번... 하루에 4300 ...흠
그래서 헬스체크하는 것은 trace 로 쫓지 않도록 바꿔보았다.
https://forum.sentry.io/t/ignore-healthchecks-url/11986/2
Ignore healthchecks url
I think I resolved it and I figured I’d post here my solution: function createSentry(app) { Sentry.init({ environment: process.env.NODE_ENV, dsn: config.sentryDsn, integrations: [ new Sentry.Integrations.Http({ tracing: true }), new Tracing.Integrations.
forum.sentry.io
여기를 참고했다.
근데 보다 보니 Python code 가 아니길래 공식문서를 찾아주었다.
https://docs.sentry.io/platforms/python/configuration/filtering/
Filtering | Sentry for Python
Learn more about how to configure your SDK to filter events reported to Sentry.
docs.sentry.io
그리고 추가적인 문제가 있는데, 계속 Localhost 에 로깅이 찍히는 문제가 있었다.
로직상으로 Onestep_dev 나 onestep_prod 에 찍혀야하는데 왜 계속 다 Localhost 에 찍히나 했더니 경로 문제였다.
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Update version.txt
run: |
VERSION=$(TZ=Asia/Seoul date +'%Y.%m.%d.%H.%M.%S') # 한국 시간대 사용
echo "onestep_prod@${VERSION}" > version.txt
이런식으로 작성해놓아서 project 안에 만든 상황이 아니였던 거고..
그러다보니 빈 파일만 참고하는 상황이 연출되었던 것이었다. ㅎㅎ
그래서 version.txt -> backend/version.txt 로 변경해주었다.
그리고 추가적으로 아래와 같은 게 계속 발생했다.
이거 계속찍힌다.
문제인 이유
1. 우리는 uvicon 쓰고 있어서 asgi 인데 왜 w?
2. 왜 저렇게 많이찍힘..?
어쨋든 무슨 문제인지 모르겠기 때문에 음. 일단 아래의 내용을 적용해본다.
https://docs.sentry.io/platforms/python/integrations/asgi/
ASGI | Sentry for Python
Learn about the ASGI integration and how it adds support for ASGI applications.
docs.sentry.io
근데 보니까 flask 관련 코드였다... ㅎㅎㅎ
그래서 Django 로 변경해본다 .ㅎ
인데 딱히 적절한 코드를 못 찾아서 아래의 링크를 참고했다.
https://docs.sentry.io/platforms/python/integrations/asyncio/
asyncio | Sentry for Python
Learn about the asyncio integration and how it adds support for applications the asyncio module.
docs.sentry.io
얘를 더 사람들이 많이 사용하는 것 같길래..
일단 이렇게 해봤다.
어쨌든.. init 파일을 다음과 같이 설정해주었다.
흠흠... 이제 한번 시도를 해본다.
스웨거를 시도해도 안 찍힌다. 헬스체크 안 찍힐 것으로 예상된다.
따봉
두번째로 해결할 문제는 다음과 같다.
{
todo_id : 1,
is_completed : true/ false}
이런식으로 요청을 보냈을 때 true 는 잘 작동되는데 false 에서는 에러가 난다고 했다.
그래서 나도 보내보았더니 안된다.
왜이런가 살펴봐야겠다.
일단 여기에서 안걸린다. Is_completed 가 분명히 있는데도 안걸린다. 이유를 모르겠다.
false 인 것과 연관이 있을 것 같은데 한번 물어봐야겠다.
알아낸 결과는 위의 코드에서 is_completed 값이 false 여서.. 그대로 조건문을 걸리지 않았던 것 같다.
그래서 아래와 같이 수정해주었다..^^b
잘 해결했다.
이제 subtodo 나 category?(있는지 확인해서 바꿔주면 될 듯 싶다.)
그리고 pytest 를 돌렸는데..
ㅎㅎ 에러가 나면 안되는 곳에서 에러가 발생한다.
보니까.. lexorank library 가 뭔가 문제가 있었다 ㅎㅎ...
그래도 뭐.. 일단 해결해야지..
허헣
after 를 하나, before 를 하나 같은 값이 나온다...ㅎㅎㅎㅎ
다른 라이브러리를 사용해야할 것 같다... ㅎㅎㅎ..
그런 상황이다 ㅎㅎ
insert_to_bottom=True
이 설정 문제인가 해서 빼고 진행해본다.
음 안된다.
둘다 같은 값이 나온다. 만들다가 만 것 같다. 0.1.3 일때 알아봤어야했나....
그래서 다른 라이브러리 사용해야할 것 같다.
음
그래서 저번에 프론트가 사용했던 Typescript 을 바탕으로 대애애애략 만들어보려고한다.
https://github.com/DibyaranjanSathua/lexorank
GitHub - DibyaranjanSathua/lexorank: LexoRank using Python
LexoRank using Python. Contribute to DibyaranjanSathua/lexorank development by creating an account on GitHub.
github.com
https://github.com/kvandake/lexorank-ts
GitHub - kvandake/lexorank-ts: A reference implementation of a list ordering system like JIRA's Lexorank algorithm
A reference implementation of a list ordering system like JIRA's Lexorank algorithm - kvandake/lexorank-ts
github.com
https://github.com/kvandake/lexorank-dotnet
GitHub - kvandake/lexorank-dotnet: A reference implementation of a list ordering system like JIRA's Lexorank algorithm
A reference implementation of a list ordering system like JIRA's Lexorank algorithm - kvandake/lexorank-dotnet
github.com
이 레포도 참고하려고 한다. 파이썬 레포는 사용하려 했는데 mit 없고, 시간도 없다.
이러고 싶지 않지만 어쩌겠는가....
c++, ts, python 배우고 럭키비키잖아.......
일단 이정도로 마무리하는 걸로 한다...!
'소프트웨어 마에스트로 > BackEnd(Django)' 카테고리의 다른 글
[Django] celery + redis 적용기 + migrations 관련 고민사항 (2) | 2024.11.13 |
---|---|
[Django] drf AsyncOpenAI 적용기 (5) | 2024.11.05 |
[Django] async 관련 오류 해결기 (1) | 2024.10.29 |
[Django] 소셜 로그인 관련 오류 해결하기 (1) | 2024.10.29 |
[django] 버그 해결기 + pycon + 넥토리얼 (1) | 2024.10.27 |