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.
Пожалуйста, сообщите мне, если требуется любая другая информация.