diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py index cb754a10591bbdbe7008a4604a56852ba04899dd..bc72cd80dcd30ffddf6b41b09685b8bc74a2876d 100644 --- a/product/CMFActivity/Activity/SQLDict.py +++ b/product/CMFActivity/Activity/SQLDict.py @@ -181,7 +181,8 @@ class SQLDict(RAMDict): # Make sure message can not be processed anylonger if len(uid_list) > 0: # Set selected messages to processing - activity_tool.SQLDict_processMessage(uid=uid_list) + activity_tool.SQLDict_processMessage(uid=uid_list, + processing_node=processing_node) get_transaction().commit() # Release locks before starting a potentially long calculation # This may lead (1 for 1,000,000 in case of reindexing) to messages left in processing state @@ -228,7 +229,8 @@ class SQLDict(RAMDict): uid_list = [x.uid for x in uid_list] if len(uid_list) > 0: # Set selected messages to processing - activity_tool.SQLDict_processMessage(uid=uid_list) + activity_tool.SQLDict_processMessage(uid=uid_list, + processing_node=processing_node) get_transaction().commit() # Release locks before starting a potentially long calculation # Save this newly marked uids as soon as possible. diff --git a/product/CMFActivity/skins/activity/SQLDict_processMessage.zsql b/product/CMFActivity/skins/activity/SQLDict_processMessage.zsql index 14db18b49d0a08b2a974f9323da21fb3b21bee56..2d3e9813d3f45f9c90a48339fcf0b7f383fb8e56 100644 --- a/product/CMFActivity/skins/activity/SQLDict_processMessage.zsql +++ b/product/CMFActivity/skins/activity/SQLDict_processMessage.zsql @@ -7,11 +7,13 @@ cache_time:0 class_name: class_file: </dtml-comment> -<params>uid</params> +<params>uid +processing_node</params> UPDATE message SET processing_date = <dtml-sqlvar "_.DateTime()" type="datetime">, - processing = 1 + processing = 1, + processing_node = <dtml-sqlvar processing_node type="int"> WHERE uid IN ( <dtml-in uid><dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else>,</dtml-if></dtml-in>