📘 C# Blog Series – Blog 22 **“C# Timer — Periodic Tasks को Automatically कैसे चलाते हैं?

📘 C# Blog Series – Blog 22

**“C# Timer — Periodic Tasks को Automatically कैसे चलाते हैं?






(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 से समझेंगे।


🟦 1. C# Timer क्या है?

Timer =
एक clock जो हर X milliseconds में कोई method खुद से run करता है।

Most used timer:

System.Timers.Timer

🟢 2. Basic Timer Example

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!

3. GPS Server का सबसे Important Timer Use-Case

🔥 हर 60 सेकंड में Offline Device Check करना

आपके पास connected devices की list है।
अगर कोई device 60 सेकंड से packet नहीं भेजता →
उसका status “Offline” करना ज़रूरी है।

यही काम Timer करता है।


🚀 4. Real-Life GPS Timer Code

Timer offlineTimer = new Timer(60000); // 60 seconds offlineTimer.Elapsed += CheckOfflineDevices; offlineTimer.Start();

अब हर 1 मिनट में CheckOfflineDevices() अपने आप चलेगा।


🚀 5. Offline Checking Method

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 बना दिया!


🌟 6. Timer में AutoReset Property

Default: true → हर interval में बार-बार run होगा।

अगर आपको सिर्फ एक बार run करना है:

t.AutoReset = false;

🟠 7. Timer Stop & Start करना

t.Stop(); t.Start();

GPS server में timer को restart करना helpful होता है।


🔵 8. High-Performance Timer Tip (Important)

Timer event multi-thread में चलता है।
अगर आप shared list (ConnectedDevices) modify करते हो:

👉 lock जरूर करो!

Example:

lock (deviceLock) { // safe code here }

Thread safety = stable GPS server.


🟣 9. Multiple Timers — Advanced Use

Real server systems में कई timers एक साथ चलते हैं:

Example:

  • 30 sec → Device heartbeat check

  • 60 sec → Offline checking

  • 120 sec → Save packet stats

  • 5 min → Logs rotate

आपका GPS server पूरी तरह automated हो सकता है।


🎮 10. Game Development में Timer

  • bullets firing every 0.3 sec

  • enemy spawn every 5 sec

  • power-up refresh every 10 sec

Timer everywhere!


🧪 11. Web API + Background Timer Use Case

Background service में Timer run होता है:

protected override async Task ExecuteAsync(CancellationToken stoppingToken) { Timer t = new Timer(DoWork, null, 0, 60000); }

Perfect for scheduled tasks.


🔚 Conclusion

C# Timer systems को बनाता है:

✔ Fully automated
✔ Scheduled
✔ Real-time responsive
✔ Self-managed

GPS Server में timer must-have feature है —
इससे server खुद पता कर लेता है कि कौन सा device offline है।

Timer के साथ आपका server professionally structured हो जाता है।

Post a Comment

0 Comments

Translate

Close Menu