[Erp5-report] r16292 - /erp5/trunk/products/CMFActivity/Activity/SQLQueue.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Sep 12 13:34:09 CEST 2007
Author: vincent
Date: Wed Sep 12 13:34:09 2007
New Revision: 16292
URL: http://svn.erp5.org?rev=16292&view=rev
Log:
SQLQueue do not balances activities, it gives them all to a single node. So remove multi-node related code for cases where message is not marked as broadcast.
Modified:
erp5/trunk/products/CMFActivity/Activity/SQLQueue.py
Modified: erp5/trunk/products/CMFActivity/Activity/SQLQueue.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/Activity/SQLQueue.py?rev=16292&r1=16291&r2=16292&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/Activity/SQLQueue.py (original)
+++ erp5/trunk/products/CMFActivity/Activity/SQLQueue.py Wed Sep 12 13:34:09 2007
@@ -318,9 +318,7 @@
validation_text_dict)
# XXX probably this below can be optimized by assigning multiple messages at a time.
- path_dict = {}
assignMessage = activity_tool.SQLQueue_assignMessage
- processing_node = 1
id_tool = activity_tool.getPortalObject().portal_ids
for message in message_dict.itervalues():
path = '/'.join(message.object_path)
@@ -347,17 +345,6 @@
tag=tag)
get_transaction().commit()
else:
- # Select a processing node. If the same path appears again, dispatch the message to
- # the same node, so that object caching is more efficient. Otherwise, apply a round
- # robin scheduling.
- node = path_dict.get(path)
- if node is None:
- node = processing_node
- path_dict[path] = node
- processing_node += 1
- if processing_node > node_count:
- processing_node = 1
-
assignMessage(processing_node=node, uid=message.uid, broadcast=0)
get_transaction().commit() # Release locks immediately to allow processing of messages
More information about the Erp5-report
mailing list