diff --git a/product/CMFActivity/Activity/SQLBase.py b/product/CMFActivity/Activity/SQLBase.py index f7fc7f42b1efbcac439314a9fb2bbd311ce057ca..0c4c68bfbf0cedddfbbd4c661afef8d67e21395d 100644 --- a/product/CMFActivity/Activity/SQLBase.py +++ b/product/CMFActivity/Activity/SQLBase.py @@ -132,11 +132,10 @@ class SQLBase(Queue): def _getPriority(self, activity_tool, method, default): result = method() - assert len(result) == 1 - priority = result[0]['priority'] - if priority is None: - priority = default - return priority + if not result: + return default + assert len(result) == 1, len(result) + return result[0]['priority'] def _retryOnLockError(self, method, args=(), kw={}): while True: diff --git a/product/CMFActivity/skins/activity/SQLDict_getPriority.zsql b/product/CMFActivity/skins/activity/SQLDict_getPriority.zsql index 1a55ac7c7d4940b7cd5df9e9ebdccd04429108e8..aac6f88b99278b8373cf350a4dc7d240fad5e5fd 100644 --- a/product/CMFActivity/skins/activity/SQLDict_getPriority.zsql +++ b/product/CMFActivity/skins/activity/SQLDict_getPriority.zsql @@ -9,9 +9,10 @@ class_file: </dtml-comment> <params> </params> -SELECT MIN(`priority`) AS `priority` FROM +SELECT `priority` FROM message WHERE processing_node = 0 AND date <= UTC_TIMESTAMP() - +ORDER BY priority +LIMIT 1 diff --git a/product/CMFActivity/skins/activity/SQLQueue_getPriority.zsql b/product/CMFActivity/skins/activity/SQLQueue_getPriority.zsql index 57d8ebeafc5e3cde654a87bd54bc017b48057b5c..fd251bcfe48d1b4ef0c31fa288b85e866bbee8bd 100644 --- a/product/CMFActivity/skins/activity/SQLQueue_getPriority.zsql +++ b/product/CMFActivity/skins/activity/SQLQueue_getPriority.zsql @@ -9,9 +9,10 @@ class_file: </dtml-comment> <params> </params> -SELECT MIN(`priority`) AS `priority` FROM +SELECT `priority` FROM message_queue WHERE processing_node = 0 AND date <= UTC_TIMESTAMP() - +ORDER BY priority +LIMIT 1