-
January 17th, 2018, 00:31
#1
در حال اجرا ماندن طولانی اسکریپت php
سلام خدمت دوستان و اساتید
بنده یه کد به شکل زیر دارم:
کد PHP:
while(!file_exists(__DIR__ ."/file")) sleep(10);
خوب همون طور که میدونید حلقه while باید تا زمانی که فایل file وجود نداره هر 10 ثانیه 1 بار اجرا بشه ولی این اتفاق نمیوفته و انگار اجرا حلقه while پس از مدت کوتاهی به پایان میرسه.
علت چی میتونه باشه؟
سپاس
-
-
January 17th, 2018 00:31
# ADS
-
January 17th, 2018, 00:42
#2
عضو انجمن
پاسخ : در حال اجرا ماندن طولانی اسکریپت php
تو فایل php.ini
timeout بیشتر کنید .
-
تعداد تشکر ها ازa1994n1373 به دلیل پست مفید
-
January 25th, 2018, 11:43
#3
عضو انجمن
پاسخ : در حال اجرا ماندن طولانی اسکریپت php

نوشته اصلی توسط
esi20
سلام خدمت دوستان و اساتید
بنده یه کد به شکل زیر دارم:
کد PHP:
while(!file_exists(__DIR__ ."/file")) sleep(10);
خوب همون طور که میدونید حلقه while باید تا زمانی که فایل file وجود نداره هر 10 ثانیه 1 بار اجرا بشه ولی این اتفاق نمیوفته و انگار اجرا حلقه while پس از مدت کوتاهی به پایان میرسه.
علت چی میتونه باشه؟
سپاس
اینجا گفتید تا زمانیکه فایل موجودی نیست ده ثانیه منتظر بمون بعد مجدد چک کن !
کلیه این فرایند بعنوان یک پروسس در حال اجرا میماند تا فایل موجود بشود و دستورات پایینی اجرا شود.
حالا ممکنه این فایل بعد از چند دقیقه اجرا شود .
همونطور که دوستمون گفتن خود پروسس پی اچ پی هم یک تایم اوتی دارد ، معمولا بین 30 تا 60 ثانیه است !
تایم اوت رو زیاد کنید هر چند روش مناسبی نیست و فشار میاره به سرور .
خوب همون طور که میدونید حلقه while باید تا زمانی که فایل file وجود نداره هر 10 ثانیه 1 بار اجرا بشه
خیر اینطور نیست .
حلقه چک میکنه فایل موجود هست یا نه اگر نبود ده ثانیه تاخیر می اندازه در پروسس و باز چک میکنه و به همین روال ادامه میده تا یا کل پروسس تایم اوت بشه یا فایل موجود بشه .
-
تعداد تشکر ها از rezaonline.net به دلیل پست مفید
-
January 25th, 2018, 11:48
#4
پاسخ : در حال اجرا ماندن طولانی اسکریپت php

نوشته اصلی توسط
esi20
سلام خدمت دوستان و اساتید
بنده یه کد به شکل زیر دارم:
کد PHP:
while(!file_exists(__DIR__ ."/file")) sleep(10);
خوب همون طور که میدونید حلقه while باید تا زمانی که فایل file وجود نداره هر 10 ثانیه 1 بار اجرا بشه ولی این اتفاق نمیوفته و انگار اجرا حلقه while پس از مدت کوتاهی به پایان میرسه.
علت چی میتونه باشه؟
سپاس
این دستوری که زدید کار خاصی قرار هست انجام بده ؟ چون این خطی که نوشتید حلقه در همین خط فقط مدام اسلیپ میکنه و کل اسکریپت در لوپ نمیره . ( عملا هیچ کاری نمیکنه اسکریپت در زمان اجرا )
مشکل اصلی رو هم که دوستان گفتن از چی هست
-
تعداد تشکر ها از hoka به دلیل پست مفید
-
January 29th, 2018, 12:09
#5
پاسخ : در حال اجرا ماندن طولانی اسکریپت php
با تشکر از دوستان که پاسخ دادند.
چون روش فوق همون طور که خودتون هم اشاره کردید زیاد مناسب نیست.
بنده اومدم به جای اینکه اسکرپیت رو زنده نگه دارم تا ساخته شدن فایل اومدم از اسکریپت خارج شدم و به محض ساخته شدن فایل مجدد اسکریپت رو با اطلاعات قبل از خروج از سر گرفتم.
-