.uuid for uuid in uuids])
+ # 异步更新 UUID 数据库中状态
+ if uuids:
+ async(update_uuids, lensman_id, uuids)
+
+ # 当可用 UUID 数量少于 500 时, 异步创建
+ if left < 500:
+ async(generate_uuids)
+
+ return response(200, 'Get UUID Success', u'获取唯一标识成功', uuids)
# [How to do a PUT request with curl?](http://stackoverflow.com/questions/13782198/how-to-do-a-put-request-with-curl)
@@ -22,7 +22,9 @@ pep8==1.6.2 |
||
| 22 | 22 |
pytz==2015.7 |
| 23 | 23 |
records==0.4.3 |
| 24 | 24 |
redis==2.10.5 |
| 25 |
+redis-extensions==1.0.1 |
|
| 25 | 26 |
shortuuid==0.4.2 |
| 26 | 27 |
uWSGI==2.0.11.1 |
| 27 | 28 |
versions==0.10.0 |
| 28 | 29 |
wechatpy==1.2.8 |
| 30 |
+https://github.com/Brightcells/django-q/archive/master.zip |
@@ -1,5 +1,8 @@ |
||
| 1 | 1 |
# -*- coding: utf-8 -*- |
| 2 | 2 |
|
| 3 |
+# 唯一标识相关 |
|
| 4 |
+UUID_LIST = 'uuid:list' # List, 唯一标识列表 |
|
| 5 |
+ |
|
| 3 | 6 |
# 用户相关 |
| 4 | 7 |
PROFILE_INFO = 'profile:info:%s' # STRING,用户信息,user_id |
| 5 | 8 |
|
@@ -0,0 +1,25 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from curtail_uuid import CurtailUUID |
|
| 4 |
+from django.conf import settings |
|
| 5 |
+ |
|
| 6 |
+from photo.models import UUIDInfo |
|
| 7 |
+from utils.redis.rkeys import UUID_LIST |
|
| 8 |
+ |
|
| 9 |
+ |
|
| 10 |
+r = settings.REDIS_CACHE |
|
| 11 |
+ |
|
| 12 |
+ |
|
| 13 |
+def generate_uuid(): |
|
| 14 |
+ uuid = CurtailUUID.uuid(UUIDInfo) |
|
| 15 |
+ UUIDInfo.objects.create(uuid=uuid) |
|
| 16 |
+ return uuid |
|
| 17 |
+ |
|
| 18 |
+ |
|
| 19 |
+def generate_uuids(num=1000): |
|
| 20 |
+ uuids = [generate_uuid() for i in xrange(num)] |
|
| 21 |
+ r.rpush(UUID_LIST, *uuids) |
|
| 22 |
+ |
|
| 23 |
+ |
|
| 24 |
+def update_uuids(lensman_id, uuids): |
|
| 25 |
+ UUIDInfo.objects.filter(uuid__in=uuids).update(lensman_id=lensman_id, status=False) |