Sobes.tech
Middle+

Server tərəfində qlobal səhvləri necə tutursunuz?

sobes.tech Süni İntellekt

AI-dan cavab

Server tərəfində qlobal səhvləri tutmaq üçün bir neçə yaygın yanaşma mövcuddur:

  • Frameworklər/platformalar tərəfindən daxili mexanizmlərdən istifadə: Əksər server tərəfi frameworkləri (Node.js ilə Express, Python ilə Django/Flask, Ruby ilə Rails və s.) daxili səhv idarəediciləri təqdim edir.

    // Express.js üçün nümunə
    app.use((err, req, res, next) => {
      console.error(err.stack); // Xəta qeydiyyatı
      res.status(500).send('Nəsə səhv getdi!'); // Müştəriyə cavab
    });
    
    # Flask üçün nümunə
    @app.errorhandler(500)
    def internal_server_error(e):
        return "Nəsə səhv getdi!", 500
    
  • İşə yaramayan istisnaları tutmaq: Node.js kimi icra mühitlərində, unhandledRejectionuncaughtException kimi qlobal hadisələrə abunə olmaq və prosesin çökməsinə səbəb olan səhvləri tutmaq mümkündür.

    // Node.js üçün nümunə
    process.on('uncaughtException', (err) => {
      console.error('İşə yaramayan istisna:', err);
      // Burada bildiriş göndərmək və ya düzgün bağlama kimi tədbirlər görülə bilər
      process.exit(1); // Xətalı şəkildə sonlandırma
    });
    
    process.on('unhandledRejection', (reason, promise) => {
      console.error('İşə yaramayan rədd:', reason);
      // Burada loglama və ya bildiriş göndərmək kimi tədbirlər görülə bilər
    });
    
  • Mərkəzləşdirilmiş qeydiyyat: Xəta haqqında ətraflı məlumatları mərkəzləşdirilmiş qeydiyyat sisteminə (məsələn, ELK Stack, Sentry, Datadog) göndərmək, analiz, bildiriş və monitorinq üçün.

  • Middleware istifadə etmək (veb-frameworklər üçün): Sorğuları əhatə edən və daxili səhvləri tutan middleware yaratmaq.

  • Monitorinq vasitələrindən istifadə: New Relic, Dynatrace və ya AppDynamics kimi tətbiq performansını izləmə (APM) vasitələrindən istifadə etmək, onlar avtomatik olaraq səhv məlumatlarını tutar və toplayır.