Plumber: ๋ฐฐ๊ด€๊ณต ๋ฉ”์‹œ์ง€๋Š” stdout ๋Œ€์‹  stderr๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 09์›” 30์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: rstudio/plumber

์žฌํ˜„ ๋‹จ๊ณ„:

  • stdout ๋ฐ stderr ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋‹ค๋ฅธ ์œ„์น˜์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ Rscript ๋ฅผ ํ†ตํ•ด ๋ฐฐ๊ด€๊ณต์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
library(plumber)
r <- plumb("some_file.R")
r$run(host = host, port = port)
  • ์ถœ๋ ฅ๋˜๋Š” ํ‘œ์ค€์ถœ๋ ฅ๊ณผ ํ‘œ์ค€์˜ค์ฐจ๋ฅผ ํ™•์ธํ•œ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘: ๋‹ค์Œ ๊ณผ ๊ฐ™์€ ์ •๋ณด ๋ฉ”์‹œ์ง€

Starting server to listen on port 1234

ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๋™์ž‘: ์ •๋ณด ๋ฉ”์‹œ์ง€๊ฐ€ ๋Œ€์‹  ํ‘œ์ค€ ์˜ค๋ฅ˜๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

will not fix

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ค€์—์„œ message() ์‹ ํ˜ธ๋ฅผ ์žก์•„ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ˆ๋Œ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

withCallingHandlers(
  message("Informational message."),
  message = function(m) {
    cat(m$message)
    invokeRestart("muffleMessage")
  }
)

์ด๊ฒƒ์€ ๋˜ํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฉ”์‹œ์ง€๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ ๋กœ๊น… ์ถœ๋ ฅ์„ ์œ„ํ•ด ๋‹ค์‹œ ํฌ๋งทํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ œ์•ˆ๋œ ๋Œ€๋กœ cat() ์ง์ ‘ ์‚ฌ์šฉํ•  ๋•Œ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ข‹์€ ์บ์น˜!

message ๊ฐ€ stderr ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ๊ฒฝ์šฐ cat ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ ํ–‰ ๊ธฐ์ˆ : shiny ๋Š” "Listening on ..." ๋ฉ”์‹œ์ง€๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
https://github.com/rstudio/shiny/blob/29d24d7e08f161d79c8f227723fbec67353b6fc9/R/server.R#L590

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ค€์—์„œ message() ์‹ ํ˜ธ๋ฅผ ์žก์•„ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ ˆ๋Œ€์ ์œผ๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

withCallingHandlers(
  message("Informational message."),
  message = function(m) {
    cat(m$message)
    invokeRestart("muffleMessage")
  }
)

์ด๊ฒƒ์€ ๋˜ํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฉ”์‹œ์ง€๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ ๋กœ๊น… ์ถœ๋ ฅ์„ ์œ„ํ•ด ๋‹ค์‹œ ํฌ๋งทํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ œ์•ˆ๋œ ๋Œ€๋กœ cat() ์ง์ ‘ ์‚ฌ์šฉํ•  ๋•Œ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰