[英]Admin Process for 12-factor in Java
12-Factor 博客建議應用程序應“將管理/管理任務作為一次性流程運行”。
這在 Java/Spring-boot 應用程序的上下文中意味着什么? 我能舉個例子嗎。
該網站不建議這樣做。 它說開發人員可能想要這樣做,如果他們這樣做,他們應該應用與其他代碼相同的標准:
一次性管理進程應在與應用程序的常規長期運行進程相同的環境中運行。 它們針對某個版本運行,使用與針對該版本運行的任何進程相同的代碼庫和配置。 管理代碼必須與應用程序代碼一起發布以避免同步問題。
作為我的應用程序的示例:用戶可以發送邀請,收件人必須在 7 天內回復,否則邀請將過期。 這是通過在邀請上設置時間戳並執行相當於DELETE FROM Invitations WHERE expiration < NOW()
的數據庫查詢來實現的。
現在,我們可以讓某人登錄到數據庫並定期執行此查詢。 然而,此“清理”操作內置於位於 URL 的應用程序中,例如/internal/admin/cleanInvitations
,並且該端點由外部 cron 作業執行。 調度在主應用程序之外,但所有數據庫配置、連接和邏輯都與我們的主要業務邏輯一起包含在其中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.