PDA

View Full Version : اجرای یک تابع php هر یک ثانیه



amir.web.android
پنج شنبه 07 بهمن 1395, 16:05 عصر
با سلام خدمت همه کاربران و برنامه نویسان گرامی
دوستان من داشتم یک ربات تلگرامی درست میکردم میخواستم وقتی یک کاربر یک درخواست میفرسته تو سرور من و یه صفحه php اجرا میشه تا یک دیقه هر یک ثانیه یک تابع php اجرا بشه با sleep() تو حلقه for گذاشتم ولی کنترل نداره مثلا من میخوام وقتی درخواست بعدی اومد دیگ انجام نشه و همینطور صفحه معلق میمونه کل یک دیقه میخواستم و وقتی وظیفه ی این اجرای مکرر رو میدم به صفحه php دیگ باز هم تا وقتی که اون صفحه کارش تموم نشده صفحه اولم لودینگ میشه میخواستم بدونم میشه من این وظیفه رو بدم به یک صفحه دیگ به صورتی که صفحه اول دیگ ازاد شه و لودینگ نباشه ؟
یا برای این چیزی که من میخوام ایده ای دارید ممنون

Unique
پنج شنبه 07 بهمن 1395, 23:52 عصر
به نظرم اصل سناریو را توضیح بدی بهتر بشه ایده داد ! اینطوری هر کی یک برداشتی میکنه.

lizard.tiny
جمعه 08 بهمن 1395, 10:15 صبح
سلام

در حلقه for باید شرط بزارید

مثلاً تعریف کنید وقتی درخواستی ارسال میشه تا زمانی که request_id = x هست حلقه اجرا بشه, وقتی درخواست بعدی میاد اون x بشه y و حلقه برای درخواست دوم و به همین شکل برای درخواست های دیگه اجرا بشه ...

ajomehri
جمعه 08 بهمن 1395, 12:44 عصر
باید یهcronjob تعریف کنی که هر 1 ثانیه آدرسی رو فراخوانی کنه. بعد توی اون صفحه اطلاعات رو از دیتابیس بگیری که ببینی اگر آخرین درخواستی که کاربر ارائه داده اگر بیشتر از 60 ثانیه پیش بوده کار نکنه وگرنه کارهایی که میگی رو انجام بده.
فقط باید این cron job طوری تعریف بشه از لحاظ امنیت که فقط از داخل سرور قابل اجرا باشه یعنی فقط اگر ip اجرا کننده 127.0.0.1 بود یعنی local بود تا منابع سرور از دسترسی خوارج در امان باشه!