๋ถ๋ช ํ cherrypy๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ ์ฝ๋ ์ค๊ฐ์ pdb.settrace()๋ฅผ ์ถ๊ฐํ ์ ์๊ณ , ๊ทธ๋ฆฌ๊ณ ๋์ cherrypy๋ฅผ ์์ํ ํฐ๋ฏธ๋์์ ๋ธ๋ผ์ฐ์ ์์ ํด๋น ์ฝ๋๋ฅผ ์ ๋ ฅํ ํ ๋์๋ค๋๋ฉฐ ๋ฌผ๊ฑด์ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
๋ฐฉ๊ธ ์ด๊ฒ์ ๋ํด ๋ค์์ต๋๋ค. ์ง์ ๋ณธ์ ์ ์์ต๋๋ค. ํ์ง๋ง ๋น์ทํ ๊ฒ๋ค์ด .NET๊ณผ ๋ค๋ฅธ ํ๋ ์์ํฌ์ ์กด์ฌํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
gunicorn์์ ์ด์ ๊ฐ์ ๊ฒ์ ์ค์ ํ ์ ์์ต๋๊น? ์ด๋ป๊ฒ?
๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋จ์ผ ๋๊ธฐํ ์์ ์๋ฅผ ์ฌ์ฉํ๋ ๋์ post_fork ํํฌ์์ pdb ๊ตฌ์ฑ์ ์ํํ๋ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ์๋ํ์ง ์๋ ํญ๋ชฉ์ ์ฐพ์ผ๋ฉด ์์ ๋กญ๊ฒ ๋ค์ ์ฌ์ญ์์ค.
๋๋ ์ด ๋ฌธ์ ๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ๊ณ ์ด ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ๋ ๊ตฌ์ฑ ํ์ผ์ ๊ณต์ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
gunicorn_logfile = "/dev/null"
gunicorn_loglevel = "error"
debug = True
timeout = 900000
workers = 1
worker_class = "sync"
pdb.set_trace()
๋ฅผ ๋์ง๋ฉด ๋๋ฒ๊ฑฐ๊ฐ stdout๊ณผ ์์ด์ง ์๊ณ pdbpp ๋๋ pdb์์ ์๋ํฉ๋๋ค.
๊ทธ ์๊ฐ ์ด๊ณผ๋ ๋ด๊ฐ ์ฐพ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฌ ํด์!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ์ด ๋ฌธ์ ๋ฅผ ์ฐ์ฐํ ๋ฐ๊ฒฌํ๊ณ ์ด ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ๋ ๊ตฌ์ฑ ํ์ผ์ ๊ณต์ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
pdb.set_trace()
๋ฅผ ๋์ง๋ฉด ๋๋ฒ๊ฑฐ๊ฐ stdout๊ณผ ์์ด์ง ์๊ณ pdbpp ๋๋ pdb์์ ์๋ํฉ๋๋ค.