|
# -*- coding: utf-8 -*-
import logging
import os
from django_six import CompatibilityBaseCommand, close_old_connections
from integral.models import SaleclerkSubmitLogInfo
from utils.qiniucdn import upload_file_path
from utils.redis.connect import r
from utils.redis.rkeys import QINIU_UPLOAD_LIST
logger = logging.getLogger('console')
class Command(CompatibilityBaseCommand):
def handle(self, *args, **options):
logger.info('Upload image qiniu is dealing')
while True:
# r.rpushjson(QINIU_UPLOAD_LIST, {
# 'model': 'SaleclerkSubmitLogInfo',
# 'pk': 'pk',
# })
k, v = r.blpopjson(QINIU_UPLOAD_LIST, 60)
if not v:
continue
logger.info(v)
model, pk = v.get('model', ''), v.get('pk', '')
close_old_connections()
if model == 'SaleclerkSubmitLogInfo':
try:
ssli = SaleclerkSubmitLogInfo.objects.get(pk=pk)
except SaleclerkSubmitLogInfo.DoesNotExist:
continue
if ssli.image:
try:
upload_file_path(ssli.image.path, key=ssli.image.name, bucket='tamron')
os.remove(ssli.image.path)
except Exception:
pass
if ssli.code_image:
try:
upload_file_path(ssli.code_image.path, key=ssli.code_image.name, bucket='tamron')
os.remove(ssli.code_image.path)
except Exception:
pass
ssli.is_upload_qiniu = True
ssli.save()
close_old_connections()
|