(Real-Life Example: हर 60 सेकंड में Offline GPS Devices Check करना)”**
C# में Timer वो टूल है जो आपको बार-बार होने वाले काम अपने आप कराता है —
बिना किसी user action के।
Real-world systems में Timer बहुत ज़रूरी है:
GPS server में offline device check
Billing में daily report generation
School system में daily SMS reminders
E-commerce में inventory refresh
Game में enemy movement scheduling
आज Timer को सबसे आसान तरीके + आपके GPS project के real production example से समझेंगे।
Timer =
एक clock जो हर X milliseconds में कोई method खुद से run करता है।
Most used timer:
System.Timers.Timer
using System.Timers;
Timer t = new Timer(2000); // runs every 2 sec
t.Elapsed += (s, e) => Console.WriteLine("Tick!");
t.Start();
Output after every 2 seconds:
Tick! Tick! Tick!
आपके पास connected devices की list है।
अगर कोई device 60 सेकंड से packet नहीं भेजता →
उसका status “Offline” करना ज़रूरी है।
यही काम Timer करता है।
Timer offlineTimer = new Timer(60000); // 60 seconds
offlineTimer.Elapsed += CheckOfflineDevices;
offlineTimer.Start();
अब हर 1 मिनट में CheckOfflineDevices() अपने आप चलेगा।
void CheckOfflineDevices(object? sender, ElapsedEventArgs e)
{
foreach (var device in ConnectedDevices)
{
if ((DateTime.Now - device.LastUpdated).TotalSeconds > 60)
{
device.Status = "Offline";
Console.WriteLine("Offline: " + device.IMEI);
}
}
}
आपने production-ready feature बना दिया!
Default: true → हर interval में बार-बार run होगा।
अगर आपको सिर्फ एक बार run करना है:
t.AutoReset = false;
t.Stop(); t.Start();
GPS server में timer को restart करना helpful होता है।
Timer event multi-thread में चलता है।
अगर आप shared list (ConnectedDevices) modify करते हो:
👉 lock जरूर करो!
Example:
lock (deviceLock)
{
// safe code here
}
Thread safety = stable GPS server.
Real server systems में कई timers एक साथ चलते हैं:
30 sec → Device heartbeat check
60 sec → Offline checking
120 sec → Save packet stats
5 min → Logs rotate
आपका GPS server पूरी तरह automated हो सकता है।
bullets firing every 0.3 sec
enemy spawn every 5 sec
power-up refresh every 10 sec
Timer everywhere!
Background service में Timer run होता है:
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
Timer t = new Timer(DoWork, null, 0, 60000);
}
Perfect for scheduled tasks.
C# Timer systems को बनाता है:
✔ Fully automated
✔ Scheduled
✔ Real-time responsive
✔ Self-managed
GPS Server में timer must-have feature है —
इससे server खुद पता कर लेता है कि कौन सा device offline है।
Timer के साथ आपका server professionally structured हो जाता है।
0 Comments
Thanks for Commenting on our blogs, we will revert back with answer of your query.
EmojiThanks & Regards
Sonu Yadav