diff --git a/apis/views.py b/apis/views.py index d5d6e2b..970765c 100644 --- a/apis/views.py +++ b/apis/views.py @@ -15,7 +15,7 @@ from django.core.urlresolvers import reverse from raven.contrib.django.raven_compat.models import client from log import logger, op_logger -from oplog.models import add_oplog +from oplog.utils import add_oplog def render_op_result(op_result): diff --git a/oplog/migrations/0001_initial.py b/oplog/migrations/0001_initial.py new file mode 100644 index 0000000..9de5e0a --- /dev/null +++ b/oplog/migrations/0001_initial.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='OpLog', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('user', models.CharField(max_length=64)), + ('op', models.CharField(max_length=16)), + ('app', models.CharField(max_length=32)), + ('app_version', models.CharField(max_length=128)), + ('time', models.DateTimeField()), + ('message', models.CharField(max_length=512)), + ], + ), + ] diff --git a/oplog/models.py b/oplog/models.py index 9e2de5d..4d95748 100644 --- a/oplog/models.py +++ b/oplog/models.py @@ -1,5 +1,4 @@ from django.db import models -from django.utils import timezone; # Create your models here. @@ -29,11 +28,3 @@ class OpLog(models.Model): message = models.CharField(max_length=512) -def add_oplog(user, op, app, app_version, message): - try: - time = timezone.localtime(timezone.now()) - oplog = OpLog(user=user, op=op, app=app, - app_version=app_version, time=time, message=message) - oplog.save() - except: - pass diff --git a/oplog/utils.py b/oplog/utils.py new file mode 100644 index 0000000..ef0618e --- /dev/null +++ b/oplog/utils.py @@ -0,0 +1,16 @@ +from django.utils import timezone; +from threading import Thread + +def _add_oplog(user, op, app, app_version, message): + try: + time = timezone.localtime(timezone.now()) + oplog = OpLog(user=user, op=op, app=app, + app_version=app_version, time=time, message=message) + oplog.save() + except: + pass + +def add_oplog(user, op, app, app_version, message): + t = Thread(target=_add_oplog, args=(user, op, app, app_version, message)) + t.start() +