Commit 4e0c0864 authored by Boxiang Sun's avatar Boxiang Sun

Using random int as the uid of Activity

parent 1ee36c3b
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
import sys import sys
import transaction import transaction
import random
from MySQLdb.constants.ER import DUP_ENTRY
from DateTime import DateTime from DateTime import DateTime
from Shared.DC.ZRDB.Results import Results from Shared.DC.ZRDB.Results import Results
from Shared.DC.ZRDB.DA import DatabaseError from Shared.DC.ZRDB.DA import DatabaseError
...@@ -122,8 +124,6 @@ class SQLBase(Queue): ...@@ -122,8 +124,6 @@ class SQLBase(Queue):
portal = activity_tool.getPortalObject() portal = activity_tool.getPortalObject()
for i in xrange(0, len(registered_message_list), MAX_MESSAGE_LIST_SIZE): for i in xrange(0, len(registered_message_list), MAX_MESSAGE_LIST_SIZE):
message_list = registered_message_list[i:i+MAX_MESSAGE_LIST_SIZE] message_list = registered_message_list[i:i+MAX_MESSAGE_LIST_SIZE]
uid_list = portal.portal_ids.generateNewIdList(self.uid_group,
id_count=len(message_list), id_generator='uid')
path_list = ['/'.join(m.object_path) for m in message_list] path_list = ['/'.join(m.object_path) for m in message_list]
active_process_uid_list = [m.active_process_uid for m in message_list] active_process_uid_list = [m.active_process_uid for m in message_list]
method_id_list = [m.method_id for m in message_list] method_id_list = [m.method_id for m in message_list]
...@@ -137,6 +137,9 @@ class SQLBase(Queue): ...@@ -137,6 +137,9 @@ class SQLBase(Queue):
for m in message_list: for m in message_list:
m.order_validation_text = x = self.getOrderValidationText(m) m.order_validation_text = x = self.getOrderValidationText(m)
processing_node_list.append(0 if x == 'none' else -1) processing_node_list.append(0 if x == 'none' else -1)
for i in range(10):
try:
uid_list = [random.randrange(0, 0x7fffffff) for _ in range(len(message_list))]
portal.SQLBase_writeMessageList( portal.SQLBase_writeMessageList(
table=self.sql_table, table=self.sql_table,
uid_list=uid_list, uid_list=uid_list,
...@@ -150,6 +153,13 @@ class SQLBase(Queue): ...@@ -150,6 +153,13 @@ class SQLBase(Queue):
tag_list=tag_list, tag_list=tag_list,
processing_node_list=processing_node_list, processing_node_list=processing_node_list,
serialization_tag_list=serialization_tag_list) serialization_tag_list=serialization_tag_list)
except MySQLdb.IntegrityError, (code, _):
if code != DUP_ENTRY:
raise
else:
break
else:
raise ValueError("Maximum retry for SQLBase_writeMessageList reached")
def getNow(self, context): def getNow(self, context):
""" """
......
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