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
반응형