์Šคํ”„๋ง๋ถ€ํŠธ ์Šค์ผ€์ฅด๋Ÿฌ

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์Šค์ผ€์ฅด๋ง ์ž‘์—…์„ ๋“ฑ๋กํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์šฐ์„  ์•„๋ž˜์ฒ˜๋Ÿผ

@EnableScheduling ์–ด๋…ธํ…Œ์ด์…˜์„ @Configuration์ด ๋ถ™์€ ํด๋ž˜์Šค์— ๋“ฑ๋กํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์Šค์ผ€์ฅด๋ง ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ @EnableScheduling ์‚ฌ์šฉ

 

์œ„ ์ฒ˜๋Ÿผ ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์—ฌ์ฃผ๋ฉด

์Šคํ”„๋ง์ด ๊ด€๋ฆฌํ•˜๋Š” ๋นˆ ์ค‘์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด

@Scheduled ์–ด๋…ธํ…Œ์ด์…˜์ด ๋ถ™์–ด์žˆ๋Š” ๊ฒƒ๋“ค์„

์ฐพ์•„์„œ ํ™œ์„ฑํ™” ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

 

์œ„ ์ฒ˜๋Ÿผ @Scheduled ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์—ฌ์ฃผ๊ณ  ์‹คํ–‰์ฃผ๊ธฐ๋ฅผ ํŠน์ •์ง€์–ด์ฃผ๋ฉด

ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๋ฉด ์ž๋™์œผ๋กœ ์‹คํ–‰์ด ๋ฉ๋‹ˆ๋‹ค.

 

์‹คํ–‰์ฃผ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

fixedRate : ๋งค ํŠน์ • ๋ฐ€๋ฆฌ์ดˆ๋งˆ๋‹ค ๋™์ž‘

fixedDelay : ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ข…๋ฃŒ๋œ ํ›„ ํŠน์ • ๋ฐ€๋ฆฌ์ดˆ ์ดํ›„์— ๋‹ค์‹œ ๋™์ž‘

cron : ํฌ๋ก ํ‘œํ˜„์‹์— ์ •ํ•ด์ง„ ๋‚ด์šฉ๋Œ€๋กœ ๋™์ž‘

 

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค์ผ€์ฅด ์žก์„ ๋“ฑ๋กํ•  ๋•Œ์—๋Š” ์ฃผ์˜ํ•  ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ ์ฒ˜๋Ÿผ ๋‘ ๊ฐœ์˜ ์Šค์ผ€์ฅด ์žก์ด ๋“ฑ๋ก๋˜์–ด์žˆ์„ ๊ฒฝ์šฐ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์žก๋งŒ ๋™์ž‘ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์ฆ‰, @Scheduled๊ฐ€ ๋ถ™์€ ๊ธฐ๋Šฅ๋“ค์ด ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„์ด ์ค‘๋ณต๋  ๊ฒฝ์šฐ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ธฐ๋Šฅ์ด ํ•œ๊บผ๋ฒˆ์— ์‹คํ–‰๋˜์–ด๋„ ์„ฑ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ์—๋Š”

์•„๋ž˜์ฒ˜๋Ÿผ @Async์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

@Async ์ฒ˜๋ฆฌํ•œ ์Šค์ผ€์ฅด tasks

 

๋ฌผ๋ก , @Async ๊ฐ€ ์ ์šฉ๋˜๋ ค๋ฉด @Configuration์— @EnableAsync๋„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ ์„ค์ •์ด ๋˜์—ˆ๋‹ค๋ฉด ์œ„ ๋‘ scheduled task๋“ค์€ ๋™์‹œ์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

 

์ถ”๊ฐ€๋กœ @Async๋ฅผ ๋ถ™์ด์ง€ ์•Š์€ task๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ์š”?

task๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด์„œ ๊ผญ!! ํ…Œ์ŠคํŠธํ•ด๋ณด์„ธ์š”.

 

์ด์ƒ์œผ๋กœ ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ ์Šค์ผ€์ฅด๋ง ์žก์„ ๋“ฑ๋กํ•˜์—ฌ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ํฌ์ŠคํŒ… ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์œ ์šฉํ–ˆ๋‹ค๋ฉด ์ข‹์•„์š” ๊พน!๊พน!๊พน! ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š” ^-^