nodejs 3

게더타운 출석체크 자동화-Docker 컨테이너화 시키기

서버 분리 및 도커 컨테이너화기존에는 하나의 서버에서 모든 업무를 처리했지만, 효율적인 운영을 위해 서버를 분리하고 도커 컨테이너화를 진행했습니다. 이를 통해 라즈베리 파이에 설치된 도커를 활용하여 각각의 서버를 컨테이너 형태로 운영하게 되었습니다.변경된 구성:Flask 서버 컨테이너: 학생명단 텍스트 파일 생성 및 관리를 위한 Flask 서버를 컨테이너로 운영합니다. 이 서버는 WebSocket을 통해 게더타운에서 가져온 학생 명단을 처리하고 필요한 작업을 수행합니다.Node.js 서버 컨테이너: 게더타운 접속자 명단을 가져오는 기능을 수행하는 Node.js 서버를 컨테이너로 운영합니다. 이 서버는 게더타운 API를 활용하여 학생들의 접속 정보를 수집하고 필요한 데이터를 전달합니다.이와 같이 서버를 분..

게더타운 출석체크 자동화-Node.js WebSocket

실시간 학생 상태 관리를 위한 Node.js WebSocket과 Flask 서버 프로그램 오늘은 Node.js와 Flask를 이용하여 학생의 접속정보와 상태정보를 실시간으로 관리하는 프로그램을 소개합니다. 이 프로그램을 통해 학생들의 상태를 감시하고, 필요한 조치를 취할 수 있습니다. 1. Flask 서버에 전달할 학생명단 텍스트 파일 생성 먼저, Flask 서버에 필요한 학생명단 텍스트 파일을 생성합니다. 이 파일은 WebSocket을 통해 학생 명단을 받아와 저장하는 역할을 합니다. let now_userlist_filename = {}; now_userlist_filename = env_DEF_SRC+`/player_names_${getCurrentDate()}.txt`; createIfNotExi..

3. 업무 자동화를 위한 최종 구축 방식

마지막으로 구축된 방식은 두 개의 도커 컨테이너를 사용하여 전체적인 시스템을 구축했습니다. Node.js 기반 웹소켓 프로세스: gathertown/gather-game-client를 사용하는 노드 기반의 웹소켓 프로세스입니다. 이 프로세스는 다음과 같은 알고리즘을 따릅니다: 먼저 게더타운 측에서 제어용 API 키 값을 발급받습니다. Node.js를 활용하여 모니터링할 게더타운의 환경 변수를 체크하고, 접속 중인 사용자의 정보를 반복적으로 가져와 저장합니다. 이를 위해 두 개의 독립적인 Node.js 컨테이너를 구축했습니다. 5분마다 모든 사용자 정보를 MongoDB에 저장하고, 5초마다 사용자의 이름을 가공하여 내부 서버의 폴더에 텍스트 문서로 저장합니다. Python Flask 서버: 이 서버는 다음..

728x90
반응형