add method
Future<String>
add({
- required String processName,
- required QueuePriority priority,
- required Future<
void> function(),
Adds a task to the queue and starts processing pending work.
Implementation
Future<String> add({
required String processName,
required QueuePriority priority,
required Future<void> Function() function,
}) async {
final database = await _ensureInitialized();
final id = IdService.generate();
_memoryFunctions[id] = function;
await database.insert(
tableName,
{
'process_id': id,
'parent_process_id': null,
'process_name': processName,
'state': QueueState.pending.name,
'retry_count': 0,
'priority': getPriorityValue(priority),
'created_at': DateTime.now().millisecondsSinceEpoch,
},
);
unawaited(_startProcessing());
return id;
}