πŸš€ BlazorWJb: Blazor Server Appκ³Ό Worker Jobs 톡합

λ°œν–‰: (2026λ…„ 1μ›” 15일 μ˜€ν›„ 03:03 GMT+9)
3 λΆ„ μ†Œμš”
원문: Dev.to

Source: Dev.to

κ°œμš”

이 κΈ€μ—μ„œλŠ” UkrGuru/WJb (Worker Jobs) λ₯Ό Blazor Server μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— ν†΅ν•©ν•˜λŠ” 방법을 λ³΄μ—¬μ€λ‹ˆλ‹€. μƒ˜ν”Œμ€ μž‘μ—…μ„ κ΄€λ¦¬ν•˜κ³  μ‹€μ‹œκ°„μœΌλ‘œ 둜그λ₯Ό 확인할 수 μžˆλŠ” κ°„λ‹¨ν•œ UIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

UkrGuru.WJbλŠ” .NET용 κ²½λŸ‰ μž‘μ—… μŠ€μΌ€μ€„λ§ 및 처리 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • CRON ν‘œν˜„μ‹μ„ μ‚¬μš©ν•œ μž‘μ—… μŠ€μΌ€μ€„λ§
  • μ‚¬μš©μž μ •μ˜ μž‘μ—…μ„ λΉ„λ™κΈ°μ μœΌλ‘œ μ‹€ν–‰
  • λͺ¨λ‹ˆν„°λ§ 및 디버깅을 μœ„ν•œ μ‹€ν–‰ 상세 둜그 기둝

둜그 νŽ˜μ΄μ§€

μž‘μ—… μ‹€ν–‰ 둜그λ₯Ό λ‹€μŒκ³Ό 같이 ν‘œμ‹œν•©λ‹ˆλ‹€:

  • λ‚ μ§œ ν•„ν„°
  • 레벨 및 μΉ΄ν…Œκ³ λ¦¬ λ“œλ‘­λ‹€μš΄
  • ν…μŠ€νŠΈ 검색
  • μƒˆλ‘œ κ³ μΉ¨ λ²„νŠΌ

μ•‘μ…˜ νŽ˜μ΄μ§€

μ•‘μ…˜μ„ μ†μ‰½κ²Œ κ΄€λ¦¬ν•©λ‹ˆλ‹€:

  • μ•‘μ…˜ μΆ”κ°€, νŽΈμ§‘, μ‚­μ œ
  • wjb\actions.json에 μ•‘μ…˜ μ €μž₯
  • 각 μ•‘μ…˜μ— λŒ€ν•œ JSON λ§€κ°œλ³€μˆ˜ νŽΈμ§‘

μΆ”κ°€ μ„ΈλΆ€ 사항:

  • λ‘œκ·ΈλŠ” Log\yyyyMMdd.log νŒŒμΌμ—μ„œ ν‘œμ‹œλ©λ‹ˆλ‹€
  • JobSchedulerκ°€ CRON ν‘œν˜„μ‹μ— 따라 λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€
  • JobProcessorκ°€ μ•‘μ…˜ νŽ˜μ΄μ§€μ— μ •μ˜λœ μž‘μ—…μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€
  • 각 μž‘μ—… μ‹€ν–‰ ν›„ λ‘œκ·Έκ°€ μžλ™μœΌλ‘œ μ—…λ°μ΄νŠΈλ©λ‹ˆλ‹€

μ‹œμž‘ν•˜κΈ°

# μƒ˜ν”Œ μ €μž₯μ†Œ 볡제
git clone https://github.com/UkrGuru/WJb.Samples.git
cd src/BlazorWJb

# μ˜μ‘΄μ„± μ„€μΉ˜
dotnet restore

# μ•± μ‹€ν–‰
dotnet run

μƒ˜ν”Œ ν™•μž₯ν•˜κΈ°

  • IJobAction을 κ΅¬ν˜„ν•˜μ—¬ μ‚¬μš©μž μ •μ˜ μž‘μ—… μœ ν˜• μΆ”κ°€
  • UkrGuru.Sqlκ³Ό 톡합해 λ°μ΄ν„°λ² μ΄μŠ€ 기반 μ•‘μ…˜ κ΅¬ν˜„
  • ν”„λ‘œλ•μ…˜ μ›Œν¬λ‘œλ“œλ₯Ό μœ„ν•΄ λ°±κ·ΈλΌμš΄λ“œ μ„œλΉ„μŠ€λ‘œ 배포

μƒ˜ν”Œ μ €μž₯μ†Œ

  • μ†ŒμŠ€ μ½”λ“œ:
  • 메인 ν”„λ‘œμ νŠΈ:

μ™œ Blazor + WJb인가?

Blazor의 μ‹€μ‹œκ°„ UI와 WJb의 μž‘μ—… μŠ€μΌ€μ€„λ§μ„ κ²°ν•©ν•˜λ©΄ μžλ™ν™”μ™€ λͺ¨λ‹ˆν„°λ§μ„ μœ„ν•œ κ°•λ ₯ν•œ λŒ€μ‹œλ³΄λ“œλ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

Back to Blog

κ΄€λ ¨ κΈ€

더 보기 Β»

ASP.NET Coreμ—μ„œ Public vs Private API β€” 미듀웨어 νŒŒμ΄ν”„λΌμΈ λΆ„κΈ° (ν”„λ‘œλ•μ…˜ μ§€ν–₯, λ―Έμ†Œμ™€ ν•¨κ»˜)

ASP.NET Coreμ—μ„œ 퍼블릭/프라이빗 API μ„œν”ΌμŠ€λ₯Ό μœ„ν•œ νŒŒμ΄ν”„λΌμΈ 브랜칭 λ™μΌν•œ 앱에 두 개의 API β€œμ„œν”ΌμŠ€β€ - 퍼블릭 – /_api/... μ™ΈλΆ€ ν΄λΌμ΄μ–ΈνŠΈ, OData, 퍼블릭 …

EF Core Change Tracking: 당신이 무심코 λ§Œλ“  버그 곡μž₯

λŒ€λΆ€λΆ„μ˜ ν”„λ‘œλ•μ…˜ EF Core λ¬Έμ œλŠ” κΉ¨μ§„ μ½”λ“œμ—μ„œ μ‹œμž‘λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μž‘λ™ν•˜λŠ” μ½”λ“œμ—μ„œ μ‹œμž‘λ©λ‹ˆλ‹€. μΏΌλ¦¬λŠ” 데이터λ₯Ό λ°˜ν™˜ν•˜κ³ , μ—…λ°μ΄νŠΈλŠ” μ„±κ³΅ν•©λ‹ˆλ‹€. μ„±λŠ₯은 λ§Œμ‘±μŠ€λŸ¬μ›Œ λ³΄μž…λ‹ˆλ‹€.

λ¦¬λˆ…μŠ€ νŠœν† λ¦¬μ–Ό: 둜그λ₯Ό CSVμ—μ„œ JSON으둜

κ°œμš” 이 νŠœν† λ¦¬μ–Όμ€ μ›μ‹œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 둜그λ₯Ό κ΅¬μ‘°ν™”λœ JSON λ°μ΄ν„°λ‘œ λ³€ν™˜ν•˜λŠ” 과정을 λ‹¨κ³„λ³„λ‘œ μ•ˆλ‚΄ν•©λ‹ˆλ‹€. 이 μ›Œν¬ν”Œλ‘œλŠ” ν…ŒμŠ€νŠΈ 데이터λ₯Ό μƒμ„±ν•˜λŠ” 데 μœ μš©ν•©λ‹ˆλ‹€.

Go의 slogμ—μ„œ λ―Όκ°ν•œ 데이터 가리기: masq와 ν•¨κ»˜ν•˜λŠ” μ‹€μš© κ°€μ΄λ“œ

λ―Όκ°ν•œ 데이터λ₯Ό λ‘œκ·Έμ— λ‚¨κΈ°μ‹œλ‚˜μš”? masq둜 μžλ™ λ§ˆμŠ€ν‚Ήν•˜μ„Έμš” λ‘œκ·ΈλŠ” 디버깅, λͺ¨λ‹ˆν„°λ§, 감사에 ν•„μˆ˜μ μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ‘œκ·Έκ°€ μ‹€μˆ˜λ‘œ λ―Όκ°ν•œ 정보λ₯Ό λ…ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.