PHP - كيفية الانتظار حتى يتم كتابة القرص بعد استدعاء الالتزام؟

0

أنا أستخدم postgresql. لا بد لي من استدعاء ملف جرة يقوم ببعض العمليات بعد قراءة ديسيبل ، ضمن برنامج نصي php.

اتصال $ هو PDO. لقد لاحظت السلوكيات التالية:

السيناريو 1:

$connection->commit();

exec_shell(java -jar jarname) //it does not give expected behaviour

السيناريو 2:

$connection->commit();

sleep(60);

exec_shell(java -jar jarname) //it does give expected behaviour

لذا ، فإن السؤال هو: كيف تنتظر حتى يقوم الالتزام بكتابة جميع البيانات إلى القرص قبل متابعة التعليمات؟

fsync قيد التشغيل في postgres.conf

1 إجابة

0

ليس لدي خبرة في شركة تنمية نفط عمان ، ولكن إذا كان يمكنك التحقق من نتيجة الالتزام ، فيمكنك تجربة شيء مثل هذا:

$commit_status = $connection->commit();
if($commit_status === TRUE)
{
  exec_shell(java -jar jarname)
}

طالما لم يكن لديك استجابة من حالة الالتزام exec_shell لن يتم استدعاء

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام