[2019-09-19] SCT 봇 안정화 작업
sct·@realmankwon·
0.000 HBD[2019-09-19] SCT 봇 안정화 작업
@realmankwon입니다. # 1 . 모니터링 봇 개발 완료 - 어제 포스팅에서 언급한대로 3분전의 블록 정보와 현재의 블록 정보가 동일하면 블럭 정보 저장 봇을 재부팅시키는 모니터링 봇을 개발 완료하여 금일 가동시켰습니다. 어제까지 forever 구문을 실행시키는 것이 되지 않았는데 오늘은 갑자기 되어서 어안이 벙벙합니다. 왜 3~4일동안 되지 않았는지... 분명히 동일하게 한 것 같은데 이상한 노릇입니다. - 실행 이후 테스트를 해 보았습니다. 강제로 블럭 정보 저장 봇을 중단시켜보았습니다.  Pre blockno 와 Curr blockno 가 다르면 That's OK를 날리면서 다시 3분을 대기합니다. 그러다가 두개가 동일하면 That's abnormal을 날리면서 재실행시키는 것을 알 수 있습니다. 그 이후 3분 후에 2개가 달라서 That's OK를 날리고 3분을 대기하는 것을 볼 수 있습니다. - 이제 steem api의 응답이 없어서 행이 걸릴 경우 모니터링 봇에 의해 블럭 정보 저장 봇이 재부팅 될 것입니다. 앞으로 실전에서 제대로 동작하는지 지속적으로 모니터링을 하고 추후 텔레그램 봇으로 재부팅시에 알림을 받는 체계를 구축할려고 합니다. 일단 최근 가장 이슈가 되었던 부분에 대해서 처리가 되어 다행입니다. # 2 . scot api 수정 - 기본적으로 제공하는 scot api를 사용하기 편하게 변경하여 사용 중에 있습니다. 특히 callback 으로 사용되는 것을 promise로 작성하여 await로 호출하여 동기화 프로그램으로 사용 중에 있습니다. 근데 scot api의 대부분은 1000개 이상은 값을 리턴하지 않습니다. 그래서 1000개 이상일 경우 1000개를 읽은 후 다시 1000개를 더 읽어야 합니다. 현재 SCT 관련 서비스 중에 SCTR 홀더를 가지고 오는 부분에 해당 api와 연관이 있습니다. 지금까지는 홀더수가 얼마 되지 않아서 임시로 1000을 입력했었는데 금일 재귀함수를 구현하여 가지고 오는 개수와 결과값이 동일하면 자동으로 다음 것을 읽어오도록 수정 후 적용하였습니다. 앞으로는 십만명이 되어도 문제 없을 듯 합니다. 다만 재귀로 계속 불러와야 하니 시간이 많이 걸릴 듯 합니다. 이것도 나중에는 promise all 을 써야할런지도 모르겠군요. # 3 . api 통합 - 현재 개발팀은 3명이서 개발을 진행 중에 있습니다. 합류 시기가 다르고 작업을 따로 하였기 때문에 일부 서비스가 별도로 운영이 되고 있습니다. 또한 협업 하는 과정에서 서비스 하나에 개발자 각자의 서버에서 돌고 있는 것들이 있었습니다. 그 부분을 지난달부터 하나의 소스로 옮기고 있는 중이었고 앞으로도 계속 통합 작업이 진행이 될 예정입니다. 그렇게 해야지 휴가나 출장 혹은 작업이 힘든 상황일때 누구든지 소스를 수정하고 봇을 끄고 켤 수 있기 때문입니다. 또한 유지보수를 하는 입장에서도 소스가 일원화가 되면 좋고 불필요한 봇을 여러개 만들 필요가 없기 때문에도 통합이 필요합니다. - 그 중 웹 페이지를 보여주는 부분에 대해서 금일 통합 작업을 하였습니다. sctr 현황을 보여주는 화면에서 호출하는 api를 따봉에서 사용하는 api 서버로 이전을 하였습니다. 해당 페이지에서 작업을 한 api로 변경이 완료되면 기존에 실행되고 있는 봇을 중지시키고 해당 파일을 삭제할려고 합니다. 봇이 하나 줄어들어서 부하가 줄고 소스가 통합되는 효과가 있어서 한 걸음 더 나아간 것 같습니다.  요즘 다운보팅풀로 인해 kr 커뮤니티가 어수선 합니다. 외국 계정들의 무분별한 다운보팅으로 의기소침한 분위기이지만 그래도 우리는 우리가 해야할 일을 해야겠죠? 안정화 작업은 계속됩니다!!! 다들 힘내시죠~^^
👍 stmdev, haxxdump, laissez-faire, ew-and-patterns, realmankwon, coinmarketcal, tech-coin, coinmarketcal2, daijiworld, pataty69, mehta, helgapn, casberp, joaorafael, munhenhos, bhaski, rafaelmonteiro, mynotsofitlife, duarte9sousa, robertoueti, kryptonauta, anomaly, teamcn-shop, ericetchen, elviento, art.int, imisstheoldkanye, the1value, bongje, glory7, minigame, goodhello, goodhello.sct, em3di, playsteemmonster, sct.cu6, sct.cu13, union.sct, berdand, china-mobile, kfu456, deralios, busy.pay, eunsik, tradingideas, anpigon, talken, igame, steemory, pigoncchio, sct.tom, rokyupjung, jcar.stake, mini.sct, geartop, happyberrysboy, j-car, sct.dean, jcarvoting, lovelyyeon.sct, cn-leo, tbtek, inespereira, jstory, lovelyyeon.cur, manimanitour, lovelyyeon, idakarlsen, newiz.sct, sct.biz, sonki999, kamimoyla, sct.down, sct.krwp, stablewon, fenrir78, seraphim502, sct.cu18, sct.cu5, sct.min, sct.adv, feelsogood.cur, honeybeerbear, matildah2, kopasi, sct.cu7, mjbook, zinasura, jieuni, skymin, deer3, bizventurer, jungch98, sct.kop3, sct.cu19, kcc,