DEP-14 提案通過! Django 將迎來內建 background workers 的日子!
隨著現代應用的演進,以往 Web 開發框架所提供的 request-response 模式已然無法滿足開發者的需求,特別是有一些寄 email 或者需要耗用較長執行時間的工作(long-running tasks),都會使用 Celery 等套件在背景執行,讓 Server 可以先回應使用者,使用者也不需要開著網頁、手機一直等待。
現在有些開發框架已經內建 background workers 可以使用,例如 Laravel ,而 Django 雖然早就許多有相關的擴充套件可以使用,不過一直沒有官方版本,顯然違背 Django 奉為信條的 “batteries included”, 也因此 Django 在近期通過 Django Enhancement Proposal 14: Background Workers, 正式將 background worker 推進至實作階段,相信不久的未來就有 Django 官方版本的 background worker 可以使用囉!
p.s. 如果想提早體驗一下 Django background workers 的話,可以用看看 django-tasks 這個套件!