달나라 노트

Python Discord : 동시에 여러 discord bot 호스팅 (Multiple app Procfile, Heroku) 본문

Python/Python ETC

Python Discord : 동시에 여러 discord bot 호스팅 (Multiple app Procfile, Heroku)

CosmosProject 2022. 2. 22. 20:05
728x90
반응형

 

 

 

Heroku를 이용해서 Discord bot을 이용하다보면 동시에 여러 개의 Discord bot을 배포하고 싶을 때가 있습니다.

 

이런 경우 여러 개의 Discord bot 코드를 가진 python 파일을 적은 후 Procfile을 아래처럼 적으면 됩니다.

 

 

Procfile

test_bot_one: python test_bot_one.py
test_bot_two: python test_bot_two.py

 

Procfile에는 Discord bot 코드가 담긴 python파일을 실행시키는 command를 적는 곳입니다.

 

여기서 콜론(:)을 기준으로 왼쪽은 worker process의 이름입니다. 즉, 내가 원하는대로 정할 수 있는 것이죠.

그리고 콜론(:)을 기준으로 오른쪽은 python 파일을 실행시키는 command입니다.

 

위처럼 입력하면 test_bot_one.py와 test_bot_two.py를 하나의 Heroku app에서 실행시킬 수 있습니다.

 

 

 

여기서 한 가지 주의할 것은 콜론(:) 왼쪽에 적힌 worker process의 이름이 중복되면 안된다는 것입니다.

test_bot_one: python test_bot_one.py
test_bot_one: python test_bot_two.py

만약에 위처럼 worker process 이름을 동일하게 해두면 가장 아래쪽에 적힌 python file만 실행됩니다.

 

 

 

 

 

 

 

만약 정상적으로 여러 개의 bot이 제대로 배포되었다면 Heroku의 Resources 페이지에서 위처럼 2개의 bot이 생성된 것을 볼 수 있습니다.

 

또한 각각의 worker process에 대해 on/off를 설정할 수도 있습니다.

 

 

 

 

 

 

728x90
반응형
Comments