components/redis_control.dart
File ini mendefinisikan widget stateful untuk mengontrol layanan Redis.
Kelas Rediscontrol:
- Sebuah
StatefulWidgetyang membuat status untuk kartu kontrol Redis.
Kelas _RediscontrolState:
- Kelas status untuk
Rediscontrol. - Variabel Status:
status: Boolean yang melacak status berjalan dari layanan Redis._isManualChanging: Sebuah flag untuk mencegah status diperbarui saat operasi mulai/berhenti sedang berlangsung._statusTimer: SebuahTimeryang secara berkala memeriksa status layanan Redis.redisPath: Path ke direktori instalasi Redis.
_checkRedisStatus():- Secara asinkron memeriksa apakah proses
redis-server.exeberjalan menggunakan utilitascheckProcess(). - Ini memperbarui variabel status
statusyang sesuai.
- Secara asinkron memeriksa apakah proses
sendTerminal(String message):- Fungsi pembantu untuk mengirim pesan log ke
Terminalcontext.
- Fungsi pembantu untuk mengirim pesan log ke
_triggerRedis(bool value):- Fungsi ini dipanggil saat
SwitchpadaServiceControlCarddiubah. - Jika
valueadalahtrue, ia memulai prosesredis-server.exe. - Jika
valueadalahfalse, ia mematikan prosesredis-server.exemenggunakankillProcess(). - Ini mengirim pesan log yang sesuai ke terminal.
- Ini memperbarui status
statusdan menggunakan flag_isManualChanginguntuk mencegah kondisi balapan.
- Fungsi ini dipanggil saat
_launchRedisCli():- Meluncurkan antarmuka baris perintah Redis (
redis-cli.exe) di jendela terminal baru.
- Meluncurkan antarmuka baris perintah Redis (
initState():- Menginisialisasi timer pemeriksaan status untuk berjalan setiap 2 detik.
dispose():- Membatalkan timer pemeriksaan status saat widget dibuang.
build():- Mengembalikan widget
ServiceControlCarddengan properti yang sesuai untuk Redis:serviceName: "Redis"statusText: "Berjalan" atau "Berhenti"statusColor: Hijau atau merahvalue:statussaat inionChanged: Fungsi_triggerRedisonLaunch: Fungsi_launchRedisCli(hanya diaktifkan jika Redis berjalan)imageAsset: "assets/redis.png"
- Mengembalikan widget
Komponen ini merangkum semua logika untuk mengelola layanan Redis, mulai dari memeriksa statusnya hingga memulai dan menghentikannya, dan menyediakan antarmuka yang ramah pengguna untuk berinteraksi dengannya.