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