36 lines
1007 B
Dart
36 lines
1007 B
Dart
import 'dart:async';
|
|
import 'dart:io';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:isolate_manager/isolate_manager.dart';
|
|
import 'package:workmanager/workmanager.dart';
|
|
|
|
import '../Tasks/workers.dart';
|
|
import '../Tasks/workmanager_workers.dart';
|
|
|
|
/// Erstellt Hintergrundtasks und führt diese aus
|
|
class BackgroundTaskController {
|
|
/// Erstellt eine neue Instanz dieser Klasse
|
|
BackgroundTaskController() {
|
|
if (!kIsWeb && Platform.isAndroid) {
|
|
unawaited(Workmanager().initialize(callbackDispatcher));
|
|
unawaited(
|
|
Workmanager().registerPeriodicTask(
|
|
'generate-transactions',
|
|
'generate_transactions',
|
|
frequency: const Duration(minutes: 30),
|
|
initialDelay: const Duration(minutes: 1),
|
|
),
|
|
);
|
|
} else {
|
|
unawaited(
|
|
IsolateManager.runFunction(runTask, {
|
|
'taskName': 'generate_transactions',
|
|
'initialDelayMinutes': 1,
|
|
'frequencyMinutes': 30,
|
|
}),
|
|
);
|
|
}
|
|
}
|
|
}
|