Django-Store to DB с помощью Crontab с помощью цикла for и вызовов API

Моя проблема в том, что мой скрипт crontab не входит в первый цикл и поэтому не сохраняет значения, которые я пытаюсь сохранить.

В моем файле настроек есть следующее:

INSTALLED_APPS = [
'django_crontab',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'my_app',]

и чуть ниже:

CRONJOBS = [
('*/30 * * * * ', 'ms_app.cron.node_count_and_store'),]

В моем файле cron я использую API, который работает правильно, я не буду добавлять его сюда, но в основном он собирает "узлы" и хранит их в списке в таком формате:

node_list = [[owner, location, serial_number, state]]

Этот список узлов (длиной около 6000) используется в следующем коде:

node = models.Node.objects
    node_list_len = len(node_list)
    for k in range(node_list_len):
        print(k)
        if node.filter(node_serial=node_list[k][2]).exists() == True:
            node_ref = node.filter(node_serial=node_list[k][2])
            node_ref.connection_state = node_list[k][3]
            node.save()
            print("Found the node: %s"%node_list[k][2])
        elif node.filter(node_serial=node_list[k][2]).exists() == False:
            node.create(
                owener_id=node_list[k][0],
                location_id=node_list[k][1],
                node_serial=node_list[k][2],
                connection_state=node_list[k][3]
            )
            node.save()
            print("Created the node: %s"%node_list[k][2])
        else:
            print("Do nothing")
    return

Приведенный выше фрагмент находится в функции def node_count_and_store()

Я не понимаю, что когда я использую оболочку Django, импортирую свои модели и применяю точно такой же код, я могу просмотреть список и сохранить информацию об узлах. Он просто не выполняет цикл при запуске через cron.

Пожалуйста, могу ли я получить какой-либо совет или информацию, если здесь что-то не так. Я использую Django 3.2.5 с python3. Все это сидит в venv.

Пожалуйста, сообщите мне, если требуется любая другая информация.

Вернуться на верх