AWS

[Slack Bot] GPU 예약 관리 시스템 만들기(feat. Google Calendar API)

pushpush 2024. 4. 20. 00:37

필요성

우리 연구실에는 총 8개의 GPU가 존재하고, 두 개의 서버에서 이를 공유해서 쓰는 방식으로 쓰고 있다.

공유 자원이기에 누가 언제 쓰는지 모르다 보니 현재까지는 카카오톡 투표 기능으로 GPU 점유를 표시했다.

하지만 너무 불편하고... 언제부터 언제까지 쓰는지도 모르고... 해서 다른 방법을 건의했더니 나만 불편한게 아니었다.

노션이랑 스프레드시트는 지우고, 업데이트하고 하는게 좀 불편하고.. 근데 또 캘린더에 양식에 맞게 등록하는게 귀찮을거란말이지?

사용하는 사람만 5명이 넘으니까..

 

그래서 어떻게 하면 좀 더 간편하고 편리하게 이를 해결할 수 있을까 생각을 해봤다.

 

짧게 고민을 해본 결과, 수업에서 사람들이 Slack bot을 활용해서 사용자가 쉽게 접근할 수 있는 기능을 개발한게 떠올랐다.

마침 연구실에서도 Slack을 사용하고있으니, GPU Bot을 통해 이 문제를 해결해봐야겠다는 생각이 들어 바로 개발을 시작했다.


기능

일단 간단하게 만든것이기때문에 꼭 필요한 기능 세 가지만 제작했다.

 

GPU_Bot 호출

slash 명령어를 통해 GPU_Bot을 호출하게되면

위와 같은 메시지가 DM으로 전송된다.

 

 

1. 오늘의 GPU 예약 현황

말그대로 오늘 예약된 GPU를 조회하는 버튼이다.

 

 

2. GPU 예약 현황

이는 오늘 이후로 예약된 모든 예약 현황을 조회할 수 있는 기능이다.

 

 

3. GPU 사용 예약

마지막으로 해당 Bot을 개발한 핵심 이유인 GPU 사용 예약 시스템이다.

사용하고자 하는 GPU 번호와 시작 시간, 종료 시간을 입력하면 Google Calendar API와의 통신을 통해 Google Calendar에 GPU 사용 일정이 등록된다.

예약의 성공 여부도 알려주고

위와 같이 일정이 등록되어 달력에서도 확인이 가능하다.

이렇게 확인할 수도 있다.


일단 내가 임의로 만든 Bot이라.. 사용하게될지는 잘 모르겠지만, 사용하게 된다면 예약 중복 방지, 실제 GPU 사용량을 통해 사용 여부 판단 등의 기능 개발을 해볼까 한다 (귀찮아서 안할지도 모름,,,😶)

 

몇시간 안 걸려서 개발한 간단한 내용이긴 하지만.. 누군가에겐 도움이 될 수 있기에 관련 개발 내용을 추가 포스팅으로 기록을 남겨보려고 한다! :D

근데 나한테도 도움이 될듯..? 이런 거 또 만들지 어케알아🙄

 

근데 일단 오늘은 아님😆