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