• اطلاعیه ها

    • Saeed Fard

      پوشش زنده وردکمپ ۲۰۱۸ اروپا توسط وردپرس پارسی   23/03/97

      اگر کاربر وردپرس هستید حتما تا به حال اسم وردکمپ رو شنیدید، کمپ و دورهمی بزرگ توسعه‌دهنده‌ها و کاربران وردپرس که سالانه در کشورهای مختلف برگزار میشه تحت عنوان وردکمپ هستش که از سمت مراجع اصلی وردپرس حمایت و برگزار می‌شه.   این‌ بار در سال 2018 وردکمپ اروپا در شهر بلگراد کشور صربستان در حال برگزاری هستش، این رویداد طی سه روز 24 تا 26 تیر ماه (June 14-16) برگزار میشه، در این رویداد مصطفی صوفی از وردپرس پارسی و به نمایندگی تمامی کاربران وردپرس فارسی حضور داره. وردپرس پارسی رویداد وردکمپ 2018 اروپا رو به صورت زنده توسط مصطفی پوشش می‌ده و در صورت علاقه‌مندی به این مراسم می‌تونید از طریق وردپرس پارسی دنبالش کنید.در حال حاضر یک روز از این مراسم گذشته که گزارش اون در قسمت پوشش زنده قرار گرفته. برای دنبال کردن مراسم وردکمپ اروپا به صورت لحظه‌ای به صفحه پوشش زنده در قسمت زیر مراجعه کنید. همینطور در آینده منتظر خبر برگزاری اولین وردکمپ در ایران توسط وردپرس‌پارسی باشید. https://wp-parsi.com/wceu-2018

      لینک خبر در وردپرس پارسی : https://wp-parsi.com/wceu-2018-live  
sos

ایجاد تاخیر زمانی در اجرای یک حلقه

5 پست در این موضوع قرار دارد

آیا میشه یک حلقه while رو که باید n بار اجرا بشه رو کاری کرد که بعد از هر اجرا 30 ثانیه صبر کنه و بعد دوباره اجرا بشه .

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در خط ششم تابع sleep عمل تاخیر را انجام میده ، ورودی برابر با تعدا ثانیه های ایجاد تاخیر


<?php
$i=0
while($i < 10)
{
echo '$i = '.$i.'<br/>';
sleep(30);
$i++
}
?>

ویرایش شده در توسط MrProgrammer
3

به اشتراک گذاری این پست


لینک به پست

در خط ششم تابع sleep عمل تاخیر را انجام میده ، ورودی برابر با تعدا ثانیه های ایجاد تاخیر


<?php
$i=0
while($i < 10)
{
echo '$i = '.$i.'<br/>';
sleep(30);
$i++
}
?>

تشکر . اما یک سوال ؟

هنگام لود کد مرورگر چیزی رو نشون نمیده همینطور درحال لود شدن هست و بعد ازمثلا الان 10*30=300 ثانیه کل جواب رو نشون میده !!!

1. آیا اینطوری به سرور فشاری وارد نمیشه ؟

2. نمیشه کاری کرد که هر جواب رو نشون بده و بعد همینجور به ترتیب دستور رو اجرا کنه ؟

درحقیقت من این حلقه رو میخوام برای ارسال ایمیل میخوام . خوب اگر مدام توی این 300 ثانیه سرور زیر بار لود باشه که خیلی بده مگر اینکه پشت پرده چیز دیگه ای باشه ؟ یعنی سرور زیر بار نباشه تا بازه ی بعدی ؟

0

به اشتراک گذاری این پست


لینک به پست

نه اتفاقااز تابع sleep برای جلوگیری از فشار به سرور استفاده میشه ،در اسکریپت های طولانی که ممکنه به سرور فشار بیاره از این تابع استفاده میشه و در مدت زمان تاخیر سی پی یو فعالیتی نداره و به نوعی استراحت میکنه

در ثانی با هر بار اجرا شدن حلقه یکی از ایمیل هاارسال میشه اما چون کد php تا انتها جلو نرفته و تمام کد های یک صفحه اجرا نشدند خروجی در مرورگر شما نداره ، برای اینکه در مرورگر شما خروجی داشته باشه در پایان اجرای هر حلقه میتونید از تابع flush استفاده کرد (اطلاعات بیشتر در مورد این تابع : تابع flush) مثلا در حلقه while به شکل زیره :


<?php
$i=0
while($i < 10)
{
echo '$i = '.$i.'<br/>';
sleep(30);
$i++;
flush();
}
?>

3

به اشتراک گذاری این پست


لینک به پست
در در ۱۳۹۳/۹/۶ ه‍.ش. at 08:07، حسین شفیعیان گفته است :

نه اتفاقااز تابع sleep برای جلوگیری از فشار به سرور استفاده میشه ،در اسکریپت های طولانی که ممکنه به سرور فشار بیاره از این تابع استفاده میشه و در مدت زمان تاخیر سی پی یو فعالیتی نداره و به نوعی استراحت میکنه

در ثانی با هر بار اجرا شدن حلقه یکی از ایمیل هاارسال میشه اما چون کد php تا انتها جلو نرفته و تمام کد های یک صفحه اجرا نشدند خروجی در مرورگر شما نداره ، برای اینکه در مرورگر شما خروجی داشته باشه در پایان اجرای هر حلقه میتونید از تابع flush استفاده کرد (اطلاعات بیشتر در مورد این تابع : تابع flush) مثلا در حلقه while به شکل زیره :

 

 

<?php
$i=0
while($i < 10)
{
echo '$i = '.$i.'<br/>';
sleep(30);
$i++;
flush();
}
?>

 

ممنون دنبال همین بودم ولی با این تفاوت که حلقه هر بار در بازه های زمانی متفاوت توقف کنه مثلا یک بار 3 ثانیه بار دیگه 5 ثانیه و یک بار هم 6 ثانیه متوقف بشه و بعد همین روال ادامه داشته باشه

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری