我有一个admin.csv文件,该文件每1小时生成一次。我想读取该csv文件的最后一行并将数据存储在django网站中我的应用程序模型中。值存储后,我也想删除该文件,如果1小时后什么都没有存储,并且没有读取文件并且没有保存数据,则网站应该显示错误。
我完全不知道如何执行此操作。我认为芹菜可以帮助我,但是我不知道该怎么做。
我的models.py文件:
class Admin(models.Model):
Input_IP = models.GenericIPAddressField(protocol='both', unpack_ipv4=False)
Skip_Frames = models.PositiveIntegerField()
Save_Video = models.BooleanField()
Id_Display = models.BooleanField()
def __str__(self):
return "{},{},{},{}".format(self.Input_IP, self.Skip_Frames, self.Save_Video, self.Id_Display)
我的应用程序文件夹中的我的task.py文件:
@task(name="kay")
def oks():
with open('\\home\\aakash\\hi.csv') as r:
reader = csv.reader(r)
for row in reader:
_, created = Admin.objects.get_or_create(Input_IP=row[0],Skip_Frames=row[1],Save_Video=row[2],Id_Display=row[3])
此外,我在项目文件夹中有一个celery.py文件:
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hughes.settings')
app = Celery('proj')
# Using a string here means the worker don't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
# should have a `CELERY_` prefix.
app.config_from_object('django.conf:settings', namespace='CELERY')
# Load task modules from all registered Django app configs.
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
我的admin.csv文件是:
Input_IP Skip_Frames Save_Video Id_Display
192.168.1.97 100 True False
191.168.43.97 91 False True
191.168.43.97 1 True True
191.168.4.61 11 False False
191.135.4.12 99 True True