Python 9

[Python] sqlalchemy "Mysql Gone Away" 오류

증상sqlalchemy로 DB 세션을 열었더라도 mysql의 wait_timeout동안 요청이 없으면 mysql에서 연결을 끊어버립니다. 따라서 이후의 요청은 Mysql Gone Away 오류가 발생합니다. 대책mysql의 wait_timeout보다 작은 값으로 pool_cycle을 지정하면 됩니다. 특정 시간 간격으로 재연결하는 옵션입니다. engine = create_engine("mysql://%s:%s@%s:%s/mydb" % (db_user, db_pass, db_host, db_port), pool_recycle=3600, echo=False)

Python 2017.05.22

AWS Cognito Python Sample Code

AWS Cognito를 통해 임시 AWS credentials를 발급받는 Python 예제 코드입니다.ADMIN_NO_SRP_AUTH 방식을 사용하기 때문에 AWS credentials가 제공된 환경에서 동작합니다. Pre-RequirementsAWS Cognito의 User Pool과 Identity Pool이 생성되어 있어야합니다.User Pool App을 생성할 때 Generate client secret 옵션이 비활성화되어야 합니다.User Pool App의 ADMIN_NO_SRP_AUTH 옵션이 활성화되어야 합니다.Auth Flow # -*- coding: utf-8 -*-import boto3 class Cognito(): region = 'ap-northeast-2' user_pool_id ..

Python 2017.01.11

[python] 트래픽 초과 시 메일 발송하기

트래픽 한계치, GMail 계정과 비밀번호를 설정해야 한다. #!/usr/bin/env python from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MIMEText from email.header import Header from email import Encoders from urllib2 import urlopen import time import math import smtplib MAIL_SEND_INTERVAL = 3600 #sec INTERVAL = 1 #sec WARN_KBPS = 212234 #kbps PUB_IP = urlopen('http:/..

Python 2016.12.01

python 스크립트 데몬으로 실행하기

1. 데몬 스크립트 작성# sudo su# cd /etc/init.d# touch tunnel# chmod 755 ./tunnel# vi ./tunnel nohup 사용- 세션이 종료되어도 백그라운드로 프로세스 동작- 로그를 파일로 출력#!/bin/bash# chkconfig: 345 88 08# description: Tunneling Server Deamon VENV=/home/ec2-user/venvWORKDIR=/home/ec2-user/tunnelDAEMON=tunnel.pyLOG=/var/log/tunnel.log function do_start(){ source ${VENV}/bin/activate cd ${WORKDIR} nohup python ${DAEMON} & >> ${LOG}} fu..

Python 2016.05.09

윈도우 Python 설치

1. 파이썬 다운로드 및 설치https://www.python.org/downloads/ 2. 파이썬 환경변수 등록내컴퓨터 > 속성 > 고급 시스템 설정 > 고급 > 환경 변수 > Path 편집 3. virtualenv 설치pip install virtualenv (또는 easy_install virtualenv)mkdir d:\python\project\djangocd d:\python\project\django 4. virtualenv 생성 및 활성화virtualenv venv venv\Scripts\active 5. Django 설치pip install Django 6. Django 설치 확인python -c "import django; print django.get_version()"1.9

Python 2015.12.14