#34447: Support backgroup async repeat task. just like
fastapi_utils.tasks.repeat_every
----------------------------------------+------------------------
               Reporter:  pythonwood    |          Owner:  nobody
                   Type:  New feature   |         Status:  new
              Component:  Core (Other)  |        Version:  4.1
               Severity:  Normal        |       Keywords:
           Triage Stage:  Unreviewed    |      Has patch:  0
    Needs documentation:  0             |    Needs tests:  0
Patch needs improvement:  0             |  Easy pickings:  0
                  UI/UX:  0             |
----------------------------------------+------------------------
 Feature Need: **Async django should make repeat task much more easy.**

 I like to use fastapi_utils.tasks.repeat_every, so easy and doc is here:
 [https://fastapi-utils.davidmontague.xyz/user-guide/repeated-tasks/]



 {{{
 from fastapi import FastAPI
 from sqlalchemy.orm import Session

 from fastapi_utils.session import FastAPISessionMaker
 from fastapi_utils.tasks import repeat_every

 database_uri = f"sqlite:///./test.db?check_same_thread=False"
 sessionmaker = FastAPISessionMaker(database_uri)

 app = FastAPI()


 def remove_expired_tokens(db: Session) -> None:
     """Pretend this function deletes expired tokens from the database"""


 @app.on_event("startup")
 @repeat_every(seconds=60 * 60)  # 1 hour
 def remove_expired_tokens_task() -> None:
     with sessionmaker.context_session() as db:
         remove_expired_tokens(db=db)
 }}}


 For Django, I found ''django-celery-beat and django-q and so on'', but
 they are too heavy for depending a sub-system which name broker.

 I hope django support this feature when running in async mode. (ASGI
 Django)

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34447>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018731458d3c-f7bc265e-f93e-458a-85ef-1bec12665a12-000000%40eu-central-1.amazonses.com.

Reply via email to