PDA

View Full Version : اجرای کد php هر چند ثانیه



moosavimaleki
جمعه 15 خرداد 1394, 22:46 عصر
سلام
من میخواستم کدی که دارم هر 4 ثانیه یک بار اجرا شه
اما دیدم cron jobs کمترین مدتش یک دقیقس

توی یه حلقه گذاشنم و ... یه کار کردم حدود 60 ثانیه طول بکشه

اما الان نمیدونم از طریق cron jobs چی جوری صفحه ای که دارم رو هی اجرا کنم!!

آدرسی هم که دارم توش کوئری داره

یعنی :
index.php?q=djsfhas

کد هایی که تو اینترنت هست رو گذاشتم اما کار نمیکنه! direct admin هم هست پنل ادمینم

فایل های .sh نمیتونه کمک کنه

کلا چه راهی دارید!!!

H:Shojaei
جمعه 15 خرداد 1394, 23:02 عصر
بستگی داره به این که همیشه میخواید اجرا بشه اگر اینطور نیست میتونید وقتی کاربر تو پیج هست با جاوا اسکریپت و ایجکس این کارو بکنید روشش رو حتما میدونید دیگه با setInterval یه تابع ajax رو هر 4 ثانیه صدا میزنید...
یا...
یه کار که نمیدونم روی سرور چه تاثیری داره ولی خوب عملیه...
کدها رو به وسیله ی همون کرون جاب اجرا کنید ولی ...
کاری که میخواید انجام بدین رو تو فایلی که با کرون جاب صدا زده میشه تکرار کنید به این صورت مثلا هر 5 ثانیه بخواید کدها اجرا بشه میاید کرون جاب رو روی 1 دقیقه میذارید و 12 باز کدی که میخواد اجرا بشه رو کپی پیست میکنید توی صفحه و نکته موضوع این که یه sleep(5); میذارید بین هر 12 قطعه کد که هر 5 ثانیه یکیش رو که همه یه کارو میکنن اجرا کنه...
البته الآن که فکرشو میکنم میبینم نمیشه! البته نمیدونم میشه یا نمیشه اگر کرون جاب بگه وقتی فایل کامل اجرا شد از اونجا شروع کن 1 دقیقه دیگه اجراش کن که این کاربردی نداره عملا ولی اگر به محض صدا زدن فایل کرون جاب شروع به ثانیه شماری کنه واسه اجرای بعدی عملا تو این 1 دقیقه 12 بار کد ما اجرا شده که هر 5 ثانیه بوده...
حالا ببینید چطور میشه همین به ذهن پریشان من رسید...!

moosavimaleki
شنبه 16 خرداد 1394, 07:39 صبح
بستگی داره به این که همیشه میخواید اجرا بشه اگر اینطور نیست میتونید وقتی کاربر تو پیج هست با جاوا اسکریپت و ایجکس این کارو بکنید روشش رو حتما میدونید دیگه با setInterval یه تابع ajax رو هر 4 ثانیه صدا میزنید...
یا...
یه کار که نمیدونم روی سرور چه تاثیری داره ولی خوب عملیه...
کدها رو به وسیله ی همون کرون جاب اجرا کنید ولی ...
کاری که میخواید انجام بدین رو تو فایلی که با کرون جاب صدا زده میشه تکرار کنید به این صورت مثلا هر 5 ثانیه بخواید کدها اجرا بشه میاید کرون جاب رو روی 1 دقیقه میذارید و 12 باز کدی که میخواد اجرا بشه رو کپی پیست میکنید توی صفحه و نکته موضوع این که یه sleep(5); میذارید بین هر 12 قطعه کد که هر 5 ثانیه یکیش رو که همه یه کارو میکنن اجرا کنه...
البته الآن که فکرشو میکنم میبینم نمیشه! البته نمیدونم میشه یا نمیشه اگر کرون جاب بگه وقتی فایل کامل اجرا شد از اونجا شروع کن 1 دقیقه دیگه اجراش کن که این کاربردی نداره عملا ولی اگر به محض صدا زدن فایل کرون جاب شروع به ثانیه شماری کنه واسه اجرای بعدی عملا تو این 1 دقیقه 12 بار کد ما اجرا شده که هر 5 ثانیه بوده...
حالا ببینید چطور میشه همین به ذهن پریشان من رسید...!

نه کد باید همیشه اجرا بشه و ربطی به کاربران نداره...
یا اجراش میره ببینه پیامی اومده یا نه و ... که بحثش در این مقال نمی گنجه


من همین کار رو کردم اما نمی دونم چی جوری بزارم توی cron jobs میزارم کار نمی کنه

sairon123
شنبه 16 خرداد 1394, 10:52 صبح
فکر نکنم برای دیدن اینکه پیام جدیدی اومده یا نه ، نیازی به کران جاب باشه
مثلا اگه شما می خواین مدیر سایت پیام های جدید رو ببینه ، یه صفحه ایجاد میکنید که پیامها رو بگیره ، بعد اگه از ایجکس استفاده کنید می تونید اون صفحه رو تو سایت نمایش و هر 4 ثانیه اون صفحه رو رفرش کنید ، بدون اینکه کل صفحه رفرش بشه

moosavimaleki
شنبه 16 خرداد 1394, 11:20 صبح
فکر نکنم برای دیدن اینکه پیام جدیدی اومده یا نه ، نیازی به کران جاب باشه
مثلا اگه شما می خواین مدیر سایت پیام های جدید رو ببینه ، یه صفحه ایجاد میکنید که پیامها رو بگیره ، بعد اگه از ایجکس استفاده کنید می تونید اون صفحه رو تو سایت نمایش و هر 4 ثانیه اون صفحه رو رفرش کنید ، بدون اینکه کل صفحه رفرش بشه

اینا رو بیخیال ... چیام ها رو سیستم چک میکنه که خودش اتوماتیک پاسخ بده... نمیتونم کاری کنم با اومدن پیام کد شروع بشه چون پیام ها رو از یه سرور یه سایت دیگه میخونم ....
میخوام هر چند ثانیه چک کنم پیامی برای من روی اون سرور سایت دیگه اومده یا خیر اگه اومده از اینجا اتوماتیک جوابی که تو دیتابیس براش اماده کردم بفرستم به اون سایته و اون سایته خودش بلده چی کار کنه!!

این سمت کار رو کار نداشته باشید ! حلش کردم

اون بحث رو بگیدcron jobs

nazanin_asadi_1
شنبه 16 خرداد 1394, 12:06 عصر
نه کد باید همیشه اجرا بشه و ربطی به کاربران نداره...
یا اجراش میره ببینه پیامی اومده یا نه و ... که بحثش در این مقال نمی گنجه
من همین کار رو کردم اما نمی دونم چی جوری بزارم توی cron jobs میزارم کار نمی کنه
منم قبلا اینکارو کرده بودم یادم نمیاد چی بود ولی کار نمیکرد به هاست تیکت زدم اونا یه چیزی رو فعال کردن دقیقا یادم نمیاد چی بود ولی وقتی فعالش کردن کد درست کار میکرد




اینا رو بیخیال ... چیام ها رو سیستم چک میکنه که خودش اتوماتیک پاسخ بده... نمیتونم کاری کنم با اومدن پیام کد شروع بشه چون پیام ها رو از یه سرور یه سایت دیگه میخونم ....
میخوام هر چند ثانیه چک کنم پیامی برای من روی اون سرور سایت دیگه اومده یا خیر اگه اومده از اینجا اتوماتیک جوابی که تو دیتابیس براش اماده کردم بفرستم به اون سایته و اون سایته خودش بلده چی کار کنه!!

این سمت کار رو کار نداشته باشید ! حلش کردم

اون بحث رو بگیدcron jobs

درباره این که میخواهید زیر یک دقیقه به یه سرور دیگه وصل بشین نمی دونم این روش درسته یا نه


من برای کرون جاب زیر 60 ثانیه از تابع Sleep استفاده کردم هر SLeepرو گذاشتم 18 ثانیه تا توی یک دقیقه سه بار کدم اجرا بشه

farzad-kh
یک شنبه 17 خرداد 1394, 23:09 عصر
نمیدونم از جاوا اسکریپت هم میتونی استفده کنی یا نه اما من اینجوری استفده کردم .. آدرسی هم که هست یه عدد بر میگردونه فقط... این کد رو داخل یه صفحه بزار که cron job اجراش میکنه اینجوری میتونی ترکیبی کار کنی اگه لازم به ورود نیس...



function pic(iduser){
var p=iduser;
var b=setInterval(function() {
if(p!=""){
$.post('../../../include/pmchecku.php',{loid:p},function(data){if (data) {
var ob = data;
if(ob==-1){
$("#tedadpm").html("0");
}
else if(ob!=-1){
$("#tedadpm").html(ob);

}
}});

}
}, 2000);
}