From cec6ce61ad3e72cbbd76f0c0b1eb565c1bf04bc7 Mon Sep 17 00:00:00 2001 From: Yoshinori Okuji <yo@nexedi.com> Date: Sat, 21 Apr 2007 23:15:20 +0000 Subject: [PATCH] Set processing_node in SQLDict_processMessage, so that the processing states of messages are reset correctly when Zope is restarted. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@14153 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/CMFActivity/Activity/SQLDict.py | 6 ++++-- .../CMFActivity/skins/activity/SQLDict_processMessage.zsql | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py index cb754a1059..bc72cd80dc 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 14db18b49d..2d3e9813d3 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> -- 2.30.9