파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

스팀 공식 api 노드의 account history 불안정성

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/5wvuqz-api-account-history


그저께 밤에 스팀 api 노드(api.steemit.com)의 account history 응답이 불안정해서 보팅 서비스에 장애가 있었습니다. 한동안 꽤 안정적으로 잘 동작했는데 가끔씩 이런 문제가 생기네요. 일반 사용자 입장에서는 별 관심이 없을 수도 있겠지만, 서비스 개발/운영 측면에서는 꽤나 성가신 부분입니다.

사실 최근까지도 보팅 코드는 지속적으로 수정이 이루어졌습니다. 포스팅 확인을 좀 더 빠르고 효율적으로 하는 것, 그리고 오류가 발생했을 때 예외 처리를 하는 것이 코드 수정의 주된 목적이었습니다.

여기서 더 고치기 시작하면 소위 로우 레벨(low level) API를 사용해야 하는 부분들이 생기는데, 이렇게 하면 파이썬의 간결성과 편리성이 상당 부분 희생될 것 같습니다. 하지만 account history에 대한 의존성을 줄이려면 어쩔 수 없는 작업인지라 고민이 되는군요.

자체적으로 full node를 구축해서 보팅 서비스가 자체 구축한 노드와 통신하도록 한다면 이런 종류의 코드 수정은 전혀 필요 없겠지만, 이미 적자인 상태에서 추가적으로 서버를 구축하는 것은 불가능하기 때문에 결국 코드에서 해결하는 수밖에 없을 것 같습니다.

한편으로는 매일 장애가 발생하는 것도 아닌데, 어차피 고쳐도 확률을 낮춰줄 뿐이지 장애는 언젠가 다시 발생할텐데, 이 귀찮은 작업을 굳이 해야할 것인가라는 생각도 듭니다. 장애가 자주 발생하는 것은 아니기 때문에 그냥 이대로 놔두고 장애가 나면 그 때마다 복구하는 방식도 현재로서는 충분히 현실적인 선택이 아닌가 생각됩니다.

어차피 당장 뭘 수정할 것은 아니고 현재 진행중인 @jsup 서비스와 구글 블로그를 연결하는 작업이 일단락된 후에 좀 시간을 두고 고민을 해 봐야될 것 같습니다.


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 2.0 - 업보팅을 다시 위대하게

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

Steemit-Search - 스팀잇 포스팅 검색

STEEM.NFT - 디지털 아트 보존 프로젝트

Comments

Popular posts from this blog

Nuitka - 파이썬 스크립트를 바이너리 실행 파일로 변환

파이썬에서 스팀잇 ID 및 포스팅 키 유효성 확인

파이썬에서 시간대(timezone) 변경