diff --git a/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql b/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql
index e37869d3d14df4bbcec155c180a8b32b4150056d..5d48b442839bda6344cd4470db1c279587c1c55a 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_createMessageTable.zsql
@@ -10,16 +10,20 @@ class_file:
 <params></params>
 CREATE TABLE `message_queue` (
   `uid` int(11) NOT NULL auto_increment,
+  `date` datetime,
   `path` VARCHAR(255),
   `method_id` VARCHAR(40),
   `processing_node` INT DEFAULT -1,
   `processing` INT DEFAULT 0,
+  `processing_date` datetime,
   `priority` INT DEFAULT 0,
   `message` BLOB,
   PRIMARY KEY  (`uid`),
+  KEY `date` (`date`),
   KEY `path` (`path`),
   KEY `method_id` (`method_id`),
   KEY `processing_node` (`processing_node`),
   KEY `processing` (`processing`),
+  KEY `processing_date` (`processing_date`),
   KEY `priority` (`priority`)
 ) TYPE = InnoDB;
diff --git a/product/CMFActivity/skins/activity/SQLQueue_processMessage.zsql b/product/CMFActivity/skins/activity/SQLQueue_processMessage.zsql
index 6193f0f35bddb7b22b705a772ed3a6d620a67036..acd670353bd2a763464e1c5143049f2868ad05fb 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_processMessage.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_processMessage.zsql
@@ -11,6 +11,7 @@ class_file:
 UPDATE
   message_queue
 SET
+  processing_date = <dtml-sqlvar "_.DateTime()" type="string">,
   processing=1
 WHERE
   uid = <dtml-sqlvar uid type="int">
diff --git a/product/CMFActivity/skins/activity/SQLQueue_readMessage.zsql b/product/CMFActivity/skins/activity/SQLQueue_readMessage.zsql
index 02bf3024a52d3458cce5c9615100cc87960e99ce..49a7aa676f471d713f083795d778c630c717db61 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_readMessage.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_readMessage.zsql
@@ -8,10 +8,15 @@ class_name:
 class_file:
 </dtml-comment>
 <params>processing_node
-priority</params>
+priority
+to_date</params>
 SELECT * FROM
     message_queue
 WHERE
     processing <> 1
 <dtml-if processing_node> AND processing_node = <dtml-sqlvar processing_node type="int"></dtml-if>
 <dtml-if priority> AND priority = <dtml-sqlvar priority type="int"> </dtml-if>
+<dtml-if to_date> AND date <= <dtml-sqlvar to_date type="string"> </dtml-if>
+
+ORDER BY
+    priority, date
diff --git a/product/CMFActivity/skins/activity/SQLQueue_readUidList.zsql b/product/CMFActivity/skins/activity/SQLQueue_readUidList.zsql
index 99717a84bb5066d3d6924c7bd390fa74787fd5d8..910d402b096b631b536427784442a0138224ffb6 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_readUidList.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_readUidList.zsql
@@ -9,10 +9,12 @@ class_file:
 </dtml-comment>
 <params>processing_node
 method_id
-path</params>
+path
+to_date</params>
 SELECT uid FROM
     message_queue
 WHERE
     processing <> 1
 <dtml-if processing_node> AND processing_node = <dtml-sqlvar processing_node type="int"></dtml-if>
-<dtml-if path>AND path = <dtml-sqlvar path type="string"></dtml-if>
\ No newline at end of file
+<dtml-if path>AND path = <dtml-sqlvar path type="string"></dtml-if>
+<dtml-if to_date>AND date <= <dtml-sqlvar to_date type="string"> </dtml-if>
diff --git a/product/CMFActivity/skins/activity/SQLQueue_setPriority.zsql b/product/CMFActivity/skins/activity/SQLQueue_setPriority.zsql
index 72ab5eef3dce84d25dfd8ec908706f7f64332478..39c46c1b3c8a9e17ed09fc6fdf2259dd0f1de2b4 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_setPriority.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_setPriority.zsql
@@ -8,11 +8,13 @@ class_name:
 class_file:
 </dtml-comment>
 <params>uid
-priority</params>
+priority
+date</params>
 UPDATE
 	message_queue
 SET
 	priority = <dtml-sqlvar priority type="int">,
-	processing = 0
+	processing = 0,
+  date = <dtml-sqlvar date type="string">  
 WHERE
 	uid = <dtml-sqlvar uid type="int">
diff --git a/product/CMFActivity/skins/activity/SQLQueue_writeMessage.zsql b/product/CMFActivity/skins/activity/SQLQueue_writeMessage.zsql
index 524eef3f45c9e7c9e30bd0f2b7d2705edd44966f..c6fafedc78f06d06a67231ed0107761ae1037829 100755
--- a/product/CMFActivity/skins/activity/SQLQueue_writeMessage.zsql
+++ b/product/CMFActivity/skins/activity/SQLQueue_writeMessage.zsql
@@ -10,10 +10,12 @@ class_file:
 <params>path
 method_id
 message
-priority</params>
+priority
+date</params>
 INSERT INTO message_queue
 SET
 	path = <dtml-sqlvar path type="string">,
+  <dtml-if date>date = <dtml-sqlvar date type="string">, <dtml-else>date = <dtml-sqlvar "_.DateTime()" type="string">, </dtml-if> 
 	method_id = <dtml-sqlvar method_id type="string">,
 	processing_node = -1,
 	processing = -1,