កម្មវិធីរាប់ចំនួនអ្នកមើល ដែលបានធ្វើឱ្យបញ្ជីទំនិញរបស់យើងបង្ហាញកំហុស 502
ការដឹកជញ្ជូន
ទំព័រដែលបង្ហាញឈុតកម្មវិធីទាំងអស់ដែលយើងលក់ បានឆ្លើយតបទៅអ្នកទស្សនាគ្រប់រូបដោយកំហុស 502 Bad Gateway អស់រយៈពេលប្រហែល 41 ម៉ោង បន្ទាប់ពីការចាប់ផ្តើម។ ទំព័ររបស់ឈុតកម្មវិធីនីមួយៗដំណើរការបានល្អ ទំព័រដើមដំណើរការបានល្អ ការបង់ប្រាក់ដំណើរការបានល្អ។ ផ្នែកដែលខូចគឺជាកូដប៉ុន្មានបន្ទាត់ដែលរាប់ចំនួនអ្នកមើលទំព័រ។
កំហុស
ម៉ាស៊ីនបម្រើរបស់ហាងយើងរាប់ចំនួនការចូលមើលទំព័រឈុតកម្មវិធី។ ដើម្បីរកឃើញថាសំណើមួយសម្រាប់ឈុតកម្មវិធីណា វាបានយកផ្នែកទីពីរនៃផ្លូវ (path):
self._count_view(path.strip("/").split("/")[1] if path.count("/") >= 2 else "")
សម្រាប់ /kits/studio/ វាគឺ studio។ ចំពោះបញ្ជីទំនិញខ្លួនឯង /kits/ ផ្លូវមានសញ្ញាប៉ះពីរ ដូច្នេះប្រព័ន្ធការពារបានអនុញ្ញាតឱ្យវាឆ្លងកាត់ ប៉ុន្តែបន្ទាប់ពីដកសញ្ញាប៉ះចេញ មានតែផ្នែកតែមួយប៉ុណ្ណោះ ហើយ [1] បានបង្កកំហុស IndexError។ កម្មវិធីដំណើរការ (handler) គឺជា http.server ស្តង់ដាររបស់ Python: កំហុសមួយនៅក្នុង do_GET បិទការតភ្ជាប់ដោយគ្មានការឆ្លើយតប ហើយ Cloudflare បានបង្ហាញអ្នកទស្សនាឃើញកំហុស 502។
ការដោះស្រាយគឺអនុគមន៍តូចមួយដែលត្រឡប់មកវិញនូវខ្សែអក្សរទទេ នៅពេលដែលផ្នែកនោះខ្វះ។ ការរាប់ចំនួនអ្នកមើលត្រូវការតែឈ្មោះឈុតកម្មវិធីប៉ុណ្ណោះ; វាមិនដែលត្រូវការឱ្យវាធ្វើឱ្យទំព័រដែលវាកំពុងរាប់នោះខូចឡើយ។
ហេតុអ្វីបានជាការត្រួតពិនិត្យរបស់យើងមិនបានឃើញវា
- ការត្រួតពិនិត្យភាពដំណើរការបានបើកតែទំព័រដើមប៉ុណ្ណោះ។ ទំព័រដើមគឺល្អ។
- ជំហានបញ្ចេញកម្មវិធីបានត្រួតពិនិត្យឈុតកម្មវិធីនីមួយៗដែលបានបញ្ចេញ: ទំព័ររបស់វា ការបញ្ជូនបន្តទៅការបង់ប្រាក់ ផ្លូវបង់ប្រាក់ពេញលេញ។ វាមិនដែលបានបើកបញ្ជីឈុតកម្មវិធីទាំងអស់ឡើយ។
- ការវិភាគទិន្នន័យមិនអាចបង្ហាញវាបានទេ។ កូដដែលគួរតែរាប់ចំនួនអ្នកទស្សនាបញ្ជីទំនិញ គឺជាកូដដែលបានដួល។ កំណត់ត្រាម៉ាស៊ីនបម្រើមានចម្លើយតាំងពីដើមមក: 17 tracebacks ក្នុងរយៈពេល 41 ម៉ោងនោះ មួយៗគឺជាសំណើមួយ ពីមនុស្ស ឬពីកម្មវិធីរុករក (crawler) ដែលទទួលបានកំហុសជំនួសឱ្យទំព័រ។
អ្វីដែលបានផ្លាស់ប្តូរ
- គ្រប់ទំព័រ ពីខាងក្រៅ រៀងរាល់ម៉ោងម្តង។ កិច្ចការតូចមួយអាន sitemap ហើយបើកគ្រប់ទំព័រជាភាសាអង់គ្លេស និង បន្តបន្ទាប់គ្នា បើកទំព័រមួយក្នុងចំណោមភាសា 42 ផ្សេងទៀត តាមរយៈ Cloudflare ដូចជាអ្នកទស្សនា។ ការដំណើរការបរាជ័យពីរដងជាប់គ្នាផ្ញើអ៊ីមែល; ការជាសះស្បើយផ្ញើអ៊ីមែលមួយទៀត។
- ជំហានបញ្ចេញកម្មវិធីបើកគ្រប់ទំព័រជាភាសាអង់គ្លេស បន្ទាប់ពីវាសាងសង់គេហទំព័រឡើងវិញ ហើយបដិសេធមិនបញ្ចប់ ប្រសិនបើមានទំព័រមួយមិនឆ្លើយតប 200។
- ទំព័រសន្ទស្សន៍ត្រូវបានចាត់ទុកជាទំព័រ។ ទំព័រដែលបញ្ជីទំព័រផ្សេងទៀត គឺជាទំព័រដែលអ្នកទស្សនាចូលដល់មុនគេ ហើយវាគឺជាទំព័រដែលគ្មាននរណាម្នាក់បានសាកល្បង។
ចំណុចសំខាន់
ការងារបន្ថែមនៅក្នុងកម្មវិធីដោះស្រាយសំណើ ដូចជាការរាប់ ការកត់ត្រា ឬការតាមដាន មិនត្រូវអនុញ្ញាតឱ្យបរាជ័យនាំឱ្យសំណើបរាជ័យឡើយ ហើយការពិនិត្យទំព័រដែលគ្របដណ្តប់តែលើទំព័រដែលអ្នកទើបតែកែប៉ុណ្ណោះ នឹងខកខានទំព័រដែលភ្ជាប់ទៅកាន់ទំព័រទាំងនោះ។ ម៉ាស៊ីនត្រួតពិនិត្យនៅក្នុង Night Watch ទទួលយកបញ្ជីទំព័រណាក៏បាន ដោយទំព័រនីមួយៗត្រូវមានអត្ថបទដែលត្រូវផ្ទៀងផ្ទាត់ មិនមែនគ្រាន់តែទំព័រដើមប៉ុណ្ណោះទេ។