ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-21, Tuesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Telegram Bot නිතර බිඳවැටීමේ රහස: කාලසටහනක් නිසාය

Telegram Bot නිතර බිඳවැටීමේ රහස: කාලසටහනක් නිසාය

Telegram Bot එකක් අහඹු ලෙස නතර වීමේ ගැටළුවක් බොහෝ වෙලාවට "අහඹු බිඳවැටීම" කියලා වාර්තා කරයි. නමුත් ලොග් පරීක්ෂා කිරීමෙන් පෙනෙන්නේ, බොට් එක සෑම කිහිපයක් පැයක්කින් එකම වේලාවේ බිඳ වැටෙනවා කියලා.

මෙම නියමිත බිඳවැටීමේ හේතුව තේරුම් ගැනීම වැදගත්. අහඹු දෝෂ කියලා හිතනවා නම් මතක ලීක්, රේස් කොන්දition, හාර්ඩ්වෙයා ගැටලුවලට සම්බන්ධයි. නමුත් කාලසටහනක් අනුව සිදුවන දෝෂයක් කියන්නේ සොකට් එකක්, ටෝකන් එකක්, හෝ සම්බන්ධතාවයක් කාලය ඉක්මවා නිමාවීමයි. එම නිසා අපි "ටයිමර්" එකක් සොයන්න ඕන.

Telegram Bot වල සාමාන්‍ය ටයිමර් 3 ක්

මට බොට් හදන අයගේ අත්දැකීම් වලින් හමුවන ප්‍රධාන ටයිමර් තුන මෙන්න:

  • 1. සොකට් පරණ වීම – දිගු‑පොලින් (long‑polling) බොට් එක Telegram සමඟ එක HTTP සම්බන්ධතාවයක් තබාගෙන ඉන්නවා. ඒ අතර NAT හෝ ප්‍රොක්සි වැනි මැදින්කාරකයක් idle timeout එකක් තියෙනවා. සෙකන්ඩ් ගණනක් ඉවර වෙලා සම්බන්ධතාවය අහෝසි වේ, නමුත් බොට් එක ඒක ගැන නොදැන ඉදිරියට ඉන්නවා. එතැනින් කිහිපයක් පැයක් පසු exception එකක් උත්පාදනය වෙලා බොට් එක නවත්වෙයි. විසඳුම: සම්බන්ධතාවය අහෝසි වීමට සූදානම් වෙලා, read timeout එකක් (උදා: 55 seconds) සහ exponential back‑off (1‑60 seconds) යෙදවීම. එමඟින් සොකට් අතුරුදන් වුනාම ස්වයංක්‍රීයව නැවත සම්බන්ධ වෙයි.
  • 2. දෙකම ප්‍රවාහයක් එකම බොට් එකට – Telegram එකේ updates ලබාගැනීමට getUpdates (polling) සහ webhook යන දෙකක් තියෙනවා, ඒත් එක් බොට් ටෝකනයකට එකක් පමණක් භාවිතා කළ හැකිය. පරණ webhook එකක් මතකයේ රඳවාගෙන, නව polling කේතයක් ධාවනය කළහොත් Telegram 409 Conflict පණිවුඩයක් දෙනවා. බොට් එක එය fatal error එකක් ලෙස ගනී නම් ක්‍රෑෂ් වෙයි. මෙය නිවැරදිව සොයාගැනීමට curl https://api.telegram.org/bot$TOKEN/getWebhookInfo ක්‍රමය භාවිතා කර, URL එකක් පෙනේ නම් webhook එක මකා දී, එක ප්‍රවාහයක් පමණක් තබාගන්න.
  • 3. Timeout නොමැති ඉල්ලීම – API call එකකට timeout සකස් නොකළහොත්, සර්වර් අසාර්ථක වීමේදී බොට් එක අඛණ්ඩව රැඳී ඉඳී, resources භාවිතා කරයි. ඒ නිසා පද්ධතියේ අඩු කාලයක් පසු ක්‍රෑෂ් වෙයි. සෑම HTTP request එකක්ම timeout පරාමිතියක් (connect, read) දී, අසාර්ථකත්වයක් සිදු වූ විට retry logic එකක් යෙදවීම වැදගත්.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තාක්ෂණික සංවර්ධනයේ ඉදිරියට යන සොෆ්ට්වෙයාර් සංවර්ධකයින්, විද්‍යාර්ථීන්, ව්‍යාපාරිකයින්ට මෙම ටයිමර් ගැටළු හඳුනා ගැනීම අත්‍යවශ්‍යයි. Bot එකක් නිශ්චලව පනස් මිනිත්තුකට හෝ පැයකට පසු නතර වුනොත්, පාරිභෝගික අත්දැකීම හා සේවා විශ්වාසය අඩු වේ. නිවැරදි timeout, back‑off, සහ webhook/polling එකක් පමණක් භාවිතා කිරීමෙන් පද්ධති uptime වැඩි කර, සම්පත් අතිරික්ත භාවිතය අවම කර, අඩු පිරිවැයෙන් වැඩි ප්‍රතිඵල ලබා ගත හැකිය. ඒ නිසා තාක්ෂණික ආරම්භකයන්ට ඉක්මනින් ගැටළු හඳුනාගෙන, සේවා අඩවි වල අස්ථිරතාවය අඩු කර, දේශීය ඩිජිටල් සේවා ව්‍යාපාරවලට තරඟකාරිත්වයක් ලබා දීමට ඉඩ සලසයි.

සාරාංශයෙන්, බොට් ක්‍රෑෂ් වීම අහඹු නොවේ; එය කාල සීමා හෝ වැරදි සැකසුම් නිසා සිදුවේ. නිවැරදි logging, timeout, හා එකම ප්‍රවාහය තෝරා ගැනීමෙන් ඔබේ Telegram Bot එක ස්ථාවරව, දක්ෂව, සහ පාරිභෝගික‑මිතුරුවක් වේ.

💡 ඔබේ Bot එකේ uptime වැඩි කිරීමේ උපදෙස් දැන් අත්හදා බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Telegram #Bot #Timer #Timeout #Webhook #Polling