Я не понимаю, почему функция, заданная в apscheduler, непреднамеренно выполняется 3 раза в Django

Я создаю веб-приложение с помощью Django. Я написал следующие коды для добавления 1 данных в минуту в таблицу с помощью APScheduler. Когда я проверил данные, сгенерированные APScheduler на панели администратора Django, я обнаружил, что по какой-то причине было сгенерировано 3 данных в минуту. почему это происходит? и как я могу решить эту проблему?

# models.py
from django.db import models
class Test(models.Model):
    test = models.CharField(max_length=8)
    created_at = models.DateTimeField(auto_now_add=True)
# admin.py
from django.contrib import admin
from .models import Test
class TestAdmin(admin.ModelAdmin):
    list_display = ('test', 'created_at')

admin.site.register(Test, TestAdmin)
# ap_scheduler.py
from apscheduler.schedulers.background import BackgroundScheduler
from .models import Test

def myfunc():
    Test.objects.create(test='test')

def start():
    scheduler = BackgroundScheduler()
    scheduler.add_job(myfunc, 'cron', second=50)
    scheduler.start()
# apps.py
from django.apps import AppConfig
class MembersConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'my_app_name'
    
    def ready(self):
        from .ap_scheduler import start
        start()

Информация о версии

APScheduler==3.9.1
Django==4.0.5

Вероятно, у вас несколько планировщиков из-за того, что автозагрузчик вызывает команду start() несколько раз. Попробуйте запустить с:

python manage.py runserver --noreload
Вернуться на верх