Apscheduler with Django

488 views
Skip to first unread message

abim...@gmail.com

unread,
Sep 25, 2020, 3:44:35 AM9/25/20
to APScheduler
Hi,
  My file structure,

new/
    __init__.py
    models.py
    management/
        __init__.py
        commands/
            __init__.py
            _private.py
            closepoll.py
    tests.py
    views.py

i structure my file system like which is mentioned in django apscheduler ( https://github.com/jarekwg/django-apscheduler )

i used ./manage.py runapscheduler to start scheduler
all working and task are running fine.

but i cant get the jobs printed or viewed in views.py even if i imported the variable or schedulor. it returns [ ].

i have given a sample code which im using, please do change according to your environment.

please help


runapscheduler.py

import logging

from django.conf import settings

from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.interval import IntervalTrigger
from django.core.management.base import BaseCommand
from django_apscheduler.jobstores import DjangoJobStore
from django_apscheduler.models import DjangoJobExecution

logger = logging.getLogger("runsch")
scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)

def task():
    logger.info("Redis Task")
    
    pass


def delete_old_job_executions(max_age=604_800):
    """This job deletes all apscheduler job executions older than `max_age` from the database."""
    DjangoJobExecution.objects.delete_old_job_executions(max_age)


class Command(BaseCommand):
    help = "Runs apscheduler."

    def handle(self, *args, **options):
        #scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
        logger.info(scheduler.add_jobstore(DjangoJobStore(), "Net"))

        scheduler.add_job(
            task,
            trigger=IntervalTrigger(minutes=5),  # Every 10 seconds
            id="Redis",
            max_instances=1,
            replace_existing=True,
            jobstore = "Net"
        )
        


        try:
            logger.info("Starting scheduler...")
            logger.info(scheduler.get_jobs())
            logger.info(scheduler.get_jobs("Deletion"))
            logger.info(scheduler.get_jobs(jobstore="Net"))

            scheduler.start()

            logger.info(scheduler.get_jobs(jobstore="Net"))
        except KeyboardInterrupt:
            logger.info("Stopping scheduler...")
            scheduler.shutdown()
            logger.info("Scheduler shut down successfully!")


views.py

from django.conf import settings

from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.interval import IntervalTrigger
from django.core.management.base import BaseCommand
from django_apscheduler.jobstores import DjangoJobStore
from django_apscheduler.models import DjangoJobExecution
from new.management.commands import runapscheduler

@api_view(['GET'])
def startRedisTask(request):
    #scheduler = BlockingScheduler(timezone=settings.TIME_ZONE)
    # scheduler.add_jobstore(DjangoJobStore(), "default")
    logger.info(runapscheduler.scheduler)
    logger.info(runapscheduler.scheduler.get_jobs())
    logger.info(runapscheduler.scheduler.get_jobs(jobstore="Net"))
    runapscheduler.forPrint()
    return Response("Haproxy Task started Successfully", status=200)


abim...@gmail.com

unread,
Sep 29, 2020, 5:50:13 AM9/29/20
to APScheduler
Kindly please help

Alex Grönholm

unread,
Sep 29, 2020, 8:22:14 AM9/29/20
to apsch...@googlegroups.com

I don't use django, and django-apscheduler is not part of the apscheduler project. Try asking on stack overflow?

--
You received this message because you are subscribed to the Google Groups "APScheduler" group.
To unsubscribe from this group and stop receiving emails from it, send an email to apscheduler...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/apscheduler/806105c1-7ad9-4e55-92a9-1adc1f583c14n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages