سؤال

عند إرسال طلب الحالة pg_connection_busy () ، هل يتميز الطلب بين "اتصال مشغول" و "خادم مشغول"؟

بمعنى آخر ، يحتوي الخادم على 100 اتصال مسموح به ، مع تطبيق واحد منها على البرنامج النصي الحالي. ترسل جميع الاتصالات المائة في وقت واحد استعلامًا ، حيث تتطلب 99 منها 2+ ثانية من وقت المعالجة ، (من الناحية النظرية ، وضع الخادم في حالة الحد الأقصى مما يجعله "مشغولًا"). كان أحد هذه الطلبات الـ 100 pg_server_busy() طلب. سيكون الرد True أو False?

هل كانت مفيدة؟

المحلول

pg_connection_busy() يدعو LIBPQ بشكل أساسي PQconsumeInput() تليها PQisBusy(), كلاهما موثق فيمعالجة الأوامر غير المتزامنة.

هذا لا علاقة له بالخادم الذي ينشغل بشكل عام مع الاتصالات الأخرى. كما أنه لا يرسل أي شيء إليه أو الاستعلام أو غير ذلك ، فهو حالة محلية بحتة حول التخزين المؤقت للبيانات الواردة عند استرداد النتائج بشكل غير متزامن.

لسوء الحظ ، فإن المثال المقدم من وثائق PHP مضللة. يدعو pg_connection_busy() على اتصال جديد دون أي استعلام غير متزامن ، وهو ما لا معنى له.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top