background Scheduler of django-apscheduler does not run the jobs

869 Views Asked by At

I want to run a job in the background using django-apscheduler but when I use Background Scheduler , the Scheduler does not run my jobs. The job is here :

def my_job():
    time = timezone.now().strftime('%X')
    print("It's now %s" % time)

The Scheduler for running the job is :

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

def handle(self, *args, **options):
    scheduler = BackgroundScheduler(timezone=settings.TIME_ZONE)
    scheduler.add_jobstore(DjangoJobStore(), "default")

    scheduler.add_job(
        my_job,
        trigger=CronTrigger(second="*/10"),  # Every 10 seconds
        id="my_job",
        max_instances=1,
        replace_existing=True,
    )
    logger.info("Added job 'my_job'.")

    try:
        logger.info("Starting scheduler...")
        scheduler.start()
    except KeyboardInterrupt:
        logger.info("Stopping scheduler...")
        scheduler.shutdown()
        logger.info("Scheduler shut down successfully!")

(I've just used a simple job to test Scheduler.)

When I run python manage.py tasks the job is added in django jobs but it does not appear in execution part of Django Admin.what is wrong?

Any help would be appreciated.

0

There are 0 best solutions below