Commit 36c917dd authored by lixiaofang's avatar lixiaofang

add manager

parent d1deeeff
...@@ -18,7 +18,6 @@ from celery.schedules import crontab ...@@ -18,7 +18,6 @@ from celery.schedules import crontab
# Build paths inside the project like this: os.path.join(BASE_DIR, ...) # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production # Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/ # See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/
...@@ -30,9 +29,8 @@ DEBUG = False ...@@ -30,9 +29,8 @@ DEBUG = False
ALLOWED_HOSTS = [] ALLOWED_HOSTS = []
# Application definition # Application definition
SENTRY_CELERY_ENDPOINT="http://60b0004c8884420f8067fb32fc3ed244:20f97fc73ffa4aad9735d0e6542a6d78@sentry.igengmei.com/140" SENTRY_CELERY_ENDPOINT = "http://60b0004c8884420f8067fb32fc3ed244:20f97fc73ffa4aad9735d0e6542a6d78@sentry.igengmei.com/140"
BROKER_URL = "redis://127.0.0.1:6379/8" BROKER_URL = "redis://127.0.0.1:6379/8"
# CELERY_SEND_EVENTS = True # CELERY_SEND_EVENTS = True
...@@ -125,13 +123,16 @@ REDIS_URL = "redis://127.0.0.1:6379" ...@@ -125,13 +123,16 @@ REDIS_URL = "redis://127.0.0.1:6379"
# Database # Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases # https://docs.djangoproject.com/en/1.10/ref/settings/#databases
DATABASE_APPS_MAPPING = {'face': 'face'}
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'NAME': 'alpha', 'NAME': 'alpha',
'USER': 'work', 'USER': 'work',
'PASSWORD': 'Gengmei123', 'PASSWORD': 'Gengmei123',
'HOST': 'rm-2zeaut61u9sm21m0b.mysql.rds.aliyuncs.com', # 'HOST': 'rm-2zeaut61u9sm21m0b.mysql.rds.aliyuncs.com',
'HOST': 'rm-2zeaut61u9sm21m0bjo.mysql.rds.aliyuncs.com',
'PORT': '3306', 'PORT': '3306',
'OPTIONS': { 'OPTIONS': {
"init_command": "SET foreign_key_checks = 0;", "init_command": "SET foreign_key_checks = 0;",
...@@ -143,9 +144,10 @@ DATABASES = { ...@@ -143,9 +144,10 @@ DATABASES = {
'NAME': 'face', 'NAME': 'face',
'USER': 'work', 'USER': 'work',
'PASSWORD': 'Gengmei123', 'PASSWORD': 'Gengmei123',
'HOST': 'rm-2zeaut61u9sm21m0b.mysql.rds.aliyuncs.com', # 'HOST': 'rm-2zeaut61u9sm21m0b.mysql.rds.aliyuncs.com',
'HOST': 'rm-2zeaut61u9sm21m0bjo.mysql.rds.aliyuncs.com',
'PORT': '3306', 'PORT': '3306',
#'CONN_MAX_AGE': None, # 'CONN_MAX_AGE': None,
'OPTIONS': { 'OPTIONS': {
"init_command": "SET foreign_key_checks = 0;", "init_command": "SET foreign_key_checks = 0;",
"charset": "utf8mb4", "charset": "utf8mb4",
...@@ -160,7 +162,7 @@ ES_INFO_LIST = [ ...@@ -160,7 +162,7 @@ ES_INFO_LIST = [
} }
] ]
ES_INDEX_PREFIX="gm-dbmw" ES_INDEX_PREFIX = "gm-dbmw"
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'gm_tracer.middleware.TracerMiddleware', 'gm_tracer.middleware.TracerMiddleware',
......
...@@ -107,8 +107,11 @@ class Command(BaseCommand): ...@@ -107,8 +107,11 @@ class Command(BaseCommand):
query_set = type_info.queryset query_set = type_info.queryset
logging.info("query_set:%s"%query_set)
slicer = TableSlicer(queryset=query_set, chunk_size=type_info.bulk_insert_chunk_size) slicer = TableSlicer(queryset=query_set, chunk_size=type_info.bulk_insert_chunk_size)
for chunk in slicer.chunks(): for chunk in slicer.chunks():
job = Job( job = Job(
......
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf import settings # from django.conf import settings
from django.core.management.base import BaseCommand, CommandError # from django.core.management.base import BaseCommand, CommandError
import traceback # import traceback
import logging # import logging
from django.db import models from django.db import models
import datetime import datetime
from .topic import Topic from django.db.models import QuerySet
manager = lambda: models.Manager().db_manager(using='face') # from .topic import Topic
# manager = lambda: models.Manager().db_manager(using='face')
class ContrastSimilar(models.Model): class ContrastSimilar(models.Model):
...@@ -19,7 +22,13 @@ class ContrastSimilar(models.Model): ...@@ -19,7 +22,13 @@ class ContrastSimilar(models.Model):
verbose_name = u"用户脸相似度表" verbose_name = u"用户脸相似度表"
db_table = "face_user_contrast_similar" db_table = "face_user_contrast_similar"
objects = manager() class ContrastSimilarManager(models.Manager):
def get_queryset(self):
qs = QuerySet(self.model).using("face")
return qs
objects = models.Manager().db_manager(using='face')
id = models.IntegerField(verbose_name="主键ID", primary_key=True) id = models.IntegerField(verbose_name="主键ID", primary_key=True)
is_online = models.BooleanField(verbose_name="是否上线") is_online = models.BooleanField(verbose_name="是否上线")
is_deleted = models.BooleanField(verbose_name="是否删除") is_deleted = models.BooleanField(verbose_name="是否删除")
...@@ -29,20 +38,20 @@ class ContrastSimilar(models.Model): ...@@ -29,20 +38,20 @@ class ContrastSimilar(models.Model):
create_time = models.DateTimeField(verbose_name=u'创建时间', default=datetime.datetime.fromtimestamp(0)) create_time = models.DateTimeField(verbose_name=u'创建时间', default=datetime.datetime.fromtimestamp(0))
update_time = models.DateTimeField(verbose_name=u'更新时间', default=datetime.datetime.fromtimestamp(0)) update_time = models.DateTimeField(verbose_name=u'更新时间', default=datetime.datetime.fromtimestamp(0))
@classmethod # @classmethod
def get_similar_user_id(cls): # def get_similar_user_id(cls):
#
try: # try:
similar_user_id_list = list() # similar_user_id_list = list()
if cls.objects.similarity > 0.3: # if cls.objects.similarity > 0.3:
query_list = Topic.objects.filter(user_id=cls.objects.participant_user_id, is_deleted=False, # query_list = Topic.objects.filter(user_id=cls.objects.participant_user_id, is_deleted=False,
is_online=True, # is_online=True,
content_level__in=("3", "4", "5")) # content_level__in=("3", "4", "5"))
for item in query_list: # for item in query_list:
if item.user_id != cls.objects.participant_user_id: # if item.user_id != cls.objects.participant_user_id:
similar_user_id_list.append(item.id) # similar_user_id_list.append(item.id)
#
return similar_user_id_list # return similar_user_id_list
except: # except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) # logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return [] # return []
...@@ -68,7 +68,7 @@ class TypeInfo(object): ...@@ -68,7 +68,7 @@ class TypeInfo(object):
@property @property
def queryset(self): def queryset(self):
return django.db.models.QuerySet(model=self.model, query=self.query) return django.db.models.QuerySet(model=self.model, query=self.query).using("face")
@property @property
def pk_blacklist(self): def pk_blacklist(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment