From 9ec2259e8010ad3a2ec965d8ea3572fd4c554641 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Fri, 2 Feb 2018 18:26:06 +0900
Subject: [PATCH] CMFActivity: Take activity age in queue priority.

Just like age is taken into account inside each activity queue.
---
 product/CMFActivity/Activity/SQLBase.py                     | 4 ++--
 product/CMFActivity/skins/activity/SQLBase_getPriority.zsql | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/product/CMFActivity/Activity/SQLBase.py b/product/CMFActivity/Activity/SQLBase.py
index a6e3a20307..fb76816f3a 100644
--- a/product/CMFActivity/Activity/SQLBase.py
+++ b/product/CMFActivity/Activity/SQLBase.py
@@ -238,8 +238,8 @@ class SQLBase(Queue):
   def getPriority(self, activity_tool):
     result = activity_tool.SQLBase_getPriority(table=self.sql_table)
     if result:
-      assert len(result) == 1, len(result)
-      return result[0]['priority']
+      result, = result
+      return result['priority'], result['date']
     return Queue.getPriority(self, activity_tool)
 
   def _retryOnLockError(self, method, args=(), kw={}):
diff --git a/product/CMFActivity/skins/activity/SQLBase_getPriority.zsql b/product/CMFActivity/skins/activity/SQLBase_getPriority.zsql
index dc932fb49a..96624a4b75 100644
--- a/product/CMFActivity/skins/activity/SQLBase_getPriority.zsql
+++ b/product/CMFActivity/skins/activity/SQLBase_getPriority.zsql
@@ -9,10 +9,10 @@ class_file:
 </dtml-comment>
 <params>table
 </params>
-SELECT `priority` FROM
+SELECT `priority`, `date` FROM
   <dtml-var table>
 WHERE
   processing_node = 0
   AND date <= UTC_TIMESTAMP()
-ORDER BY priority
+ORDER BY priority, date
 LIMIT 1
-- 
2.30.9