اجرای اسکریپت php هر ثانیه یک بار
سلام ، وقت بخیر . دوستان من دو سوال دارم
اول اینکه : چطور می تونیم مثلا فایل test.php رو طوری تنظیم کنیم که هر ثانیه یکبار اجرا بشه . متاسفانه با کران جاب کمترین زمان ممکن حداقل یک دقیقه است . اینم بگم من چون دسترسی به سرور دارم centos 7 - اگه راهی باشه که حتی با دستورات لینوکس فایل مورد نظر رو هر ثانیه یکبار اجرا کنم بازم مشکلی نیست (هر روشی که جواب بده کارمو راه می اندازه )
سوال دوم : بهترین راه برای اینکه تشخیص بدم فرضا فایل test.php موقع اجرا چه مقدار از RAM و CPU سیستم رو مشغول می کنه چه روشی هست ؟
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
Mr_mehran
سلام ، وقت بخیر . دوستان من دو سوال دارم
اول اینکه : چطور می تونیم مثلا فایل test.php رو طوری تنظیم کنیم که هر ثانیه یکبار اجرا بشه . متاسفانه با کران جاب کمترین زمان ممکن حداقل یک دقیقه است . اینم بگم من چون دسترسی به سرور دارم centos 7 - اگه راهی باشه که حتی با دستورات لینوکس فایل مورد نظر رو هر ثانیه یکبار اجرا کنم بازم مشکلی نیست (هر روشی که جواب بده کارمو راه می اندازه )
سوال دوم : بهترین راه برای اینکه تشخیص بدم فرضا فایل test.php موقع اجرا چه مقدار از RAM و CPU سیستم رو مشغول می کنه چه روشی هست ؟
کد HTML:
while true ; do php test.php & sleep 1; done
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
yourhosting
کد HTML:
while true ; do php test.php & sleep 1; done
ممنون از شما
به جای test.php لینک خارجی هم میشه نوشت ؟ مثلا www.exmplesite.com/test.php
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
Mr_mehran
while true ; do curl -s http://site.tld/test.php & sleep 1; done
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
yourhosting
عالی بود ، اما مشکلی هست اینکه با بستن نرم افزار puty اجرای این دستور هم متوقف میشه
میخوام ایجوری باشه که دستور رو بزنم و به صورت بازه ای در هر ثانیه فایل رو اجرا کنه - حتی در صورتی که برنامه puty رو بسته باشم
و اینکه هر زمان خودم خواستم بتونم دستوری رو که شما گفتی stop کنم .
stop کردن while do تو لینوکس چه جوریه ؟
نقل قول:
نوشته اصلی توسط
alimosavi
Cron job تعریف کن
یعنی راهی هست کران جاب رو به روی یک ثانیه تعریف کرد ؟
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
Mr_mehran
عالی بود ، اما مشکلی هست اینکه با بستن نرم افزار puty اجرای این دستور هم متوقف میشه
میخوام ایجوری باشه که دستور رو بزنم و به صورت بازه ای در هر ثانیه فایل رو اجرا کنه - حتی در صورتی که برنامه puty رو بسته باشم
و اینکه هر زمان خودم خواستم بتونم دستوری رو که شما گفتی stop کنم .
stop کردن while do تو لینوکس چه جوریه ؟
یا screen نصب کن
یا اخر دستورت & بزن
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
در فایل crontab این خط رو اضافه کن
کد:
* * * * * REMAIN=60 INC=1 ; while ; do /bin/cmd -arg1 ; sleep $INC; REMAIN=$(($REMAIN - $INC)); done
بجای do /bin/cmd -arg1 دستورتو بگزار مثلا do php /home/script.php
مقدار INC=1 تعداد ثانیه ای است که منظر اجرای دستور می شه اگر INC=5 باشه دستورت هر 5 ثانیه اجرا می شه
پاسخ : اجرای اسکریپت php هر ثانیه یک بار
نقل قول:
نوشته اصلی توسط
alimosavi
در فایل crontab این خط رو اضافه کن
کد:
* * * * * REMAIN=60 INC=1 ; while ; do /bin/cmd -arg1 ; sleep $INC; REMAIN=$(($REMAIN - $INC)); done
بجای do /bin/cmd -arg1 دستورتو بگزار مثلا do php /home/script.php
مقدار INC=1 تعداد ثانیه ای است که منظر اجرای دستور می شه اگر INC=5 باشه دستورت هر 5 ثانیه اجرا می شه
عالی بود
ولی یه سوال
* * * * * REMAIN=60 INC=1 ; while ; do /bin/cmd -arg1 ; sleep $INC; REMAIN=$(($REMAIN - $INC)); done
$ که قرمزه اضافه نیست؟