Page MenuHomeSoftware Heritage

D613.id1871.diff
No OneTemporary

D613.id1871.diff

diff --git a/swh/scheduler/tests/test_utils.py b/swh/scheduler/tests/test_utils.py
--- a/swh/scheduler/tests/test_utils.py
+++ b/swh/scheduler/tests/test_utils.py
@@ -26,7 +26,6 @@
'args': [],
'kwargs': {},
},
- 'priority': None,
}
self.assertEqual(actual_task, expected_task)
@@ -54,3 +53,27 @@
self.assertEqual(actual_task, expected_task)
mock_datetime.now.assert_called_once_with(tz=timezone.utc)
+
+ @patch('swh.scheduler.utils.datetime')
+ def test_create_task_dict(self, mock_datetime):
+ mock_datetime.now.return_value = 'date'
+
+ actual_task = utils.create_task_dict(
+ 'task-type', 'recurring', 'arg0', 'arg1',
+ priority='low', other_stuff='normal', retries_left=3
+ )
+
+ expected_task = {
+ 'policy': 'recurring',
+ 'type': 'task-type',
+ 'next_run': 'date',
+ 'arguments': {
+ 'args': ('arg0', 'arg1'),
+ 'kwargs': {'other_stuff': 'normal'},
+ },
+ 'priority': 'low',
+ 'retries_left': 3,
+ }
+
+ self.assertEqual(actual_task, expected_task)
+ mock_datetime.now.assert_called_once_with(tz=timezone.utc)
diff --git a/swh/scheduler/utils.py b/swh/scheduler/utils.py
--- a/swh/scheduler/utils.py
+++ b/swh/scheduler/utils.py
@@ -40,10 +40,7 @@
(swh.scheduler.backend.create_tasks)
"""
- priority = None
- if 'priority' in kwargs:
- priority = kwargs.pop('priority')
- return {
+ task = {
'policy': policy,
'type': type,
'next_run': datetime.now(tz=timezone.utc),
@@ -51,9 +48,15 @@
'args': args if args else [],
'kwargs': kwargs if kwargs else {},
},
- 'priority': priority,
}
+ for extra_key in ['priority', 'retries_left']:
+ if extra_key in kwargs:
+ extra_val = kwargs.pop(extra_key)
+ task[extra_key] = extra_val
+
+ return task
+
def create_oneshot_task_dict(type, *args, **kwargs):
"""Create a oneshot task scheduled for as soon as possible.

File Metadata

Mime Type
text/plain
Expires
Sun, Aug 17, 7:57 PM (1 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3214685

Event Timeline