본문 바로가기
반응형

개발 이야기45

uWSGI listen queue of socket ... full !!! (100/100) Ubuntu 16.04 에서 만든 uwsgi 서비스가 돌연 *** uWSGI listen queue of socket ":5050" (fd: 6) full !!! (101/100) *** 와 같은 메시지를 뿜으며 모든 요청이 블락되는 경우가 있다. (101/100) 로 미루어보아, 현재 큐 101 가 최대 큐 100 사이즈를 초과하면서 생긴 문제다. 최대 큐 사이즈는 uwsgi 실행시 --listen {큐사이즈} 로 설정하여 늘려줄 수 있다. 그러나 net.core.somaxconn 값보다 큐 사이즈를 크게 할 수 없으므로, 우선 이 값의 맥스 커넥션부터 키운다. sudo sysctl net.core.somaxconn=1024 그 다음 uwsgi 실행을 할 때, /usr/local/bin/uwsgi --.. 2020. 12. 10.
Django SQL performance checking & Slack notification django 에서 한 view 내에서 사용되는 쿼리의 성능 체크를 라이브에서 하고 싶을 때 간단하게 signal callback 을 이용하여 쿼리타임을 계산하고, 일정 threshold 값 이상인 경우 슬랙 노티를 보내는 기능을 구현한다. import requests from django.db import connection @receiver(request_finished) def monitor_db_connection(sender, **kwargs): def send_slack_message(query, timer): slack_message = { 'channel': '#{channel_name}', "text": '*Elapsed Time*\n{} sec\n*Query*\n```{}```'.form.. 2020. 12. 9.
NoReverseMatch at / 'djdt' is not a registered namespace -- Django debug toolbar urls 에 아래 코드를 삽입한다. if settings.DEBUG: import debug_toolbar urlpatterns.append(url(r'^__debug__/', include(debug_toolbar.urls))) 2020. 12. 9.
Error installing sass: Failed to build gem native extension (mac os High Sierra) 현재 macos 가 high sierra 인 경우, gem install이 종종 되지 않는 경우가 있다. 해당 링크에서 내용을 확인할 수 있다. gem install sass 명령어 실행시 아래와 같은 에러가 나오는 경우, Building native extensions. This could take a while... ERROR: Error installing sass: ERROR: Failed to build gem native extension. current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.13.1/ext/ffi_c /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./.. 2020. 12. 9.
Dictionary List 를 key에 따라 sort 하기 dic_list = [ {'name': 'kim', 'age': 30}, {'name': 'kim', 'age': 23}, {'name': 'lee', 'age': 11}, {'name': 'park', 'age': 25}, ] sorted_list = sorted(dic_list, key=lambda data: (data['name'], data['age'])) name 으로 먼저 정렬 하고, 그 다음 기준인 age에 따라 정렬 나이가 많은 순으로 하고 싶으면 -data['age'] 로 사용 2020. 12. 2.
Ubuntu 16.04 & Python 3.6 사용할 때 mysqldb, uwsgi 에러 발생시 해결 sudo apt-get install python3.6-dev libmysqlclient-dev pip install mysqlclient pip install uwsgi 참고자료: github.com/openai/gym/issues/757 2020. 11. 27.
반응형