retry method
Creates a new pending task from an existing task.
Implementation
Future<String> retry(String processId) async {
final database = await _ensureInitialized();
final oldTask = await getTask(processId);
final newId = IdService.generate();
final function = _memoryFunctions[processId];
if (function != null) {
_memoryFunctions[newId] = function;
}
await database.insert(
tableName,
{
'process_id': newId,
'parent_process_id': processId,
'process_name': oldTask.processName,
'state': QueueState.pending.name,
'retry_count': oldTask.retryCount + 1,
'priority': getPriorityValue(oldTask.priority),
'created_at': DateTime.now().millisecondsSinceEpoch,
},
);
unawaited(_startProcessing());
return newId;
}