-
August 1st, 2017, 00:55
#1
آیا امکان پردازش موازی در php وجود داره؟
سلام بر اساتید و بزرگان
همون طور که میدونید کدها در php از بالا به پایین اجرا میشه و تا جایی که من میدونم امکان اینکه دو تابع رو همزمان بشه اجرا کرد وجود نداره.
سوال من از شما اینه که آیا امکان این کار وجود داره که بشه دو تابع تا دو فایل php رو همزمان اجرا کنم؟
تشکر
-
-
August 1st, 2017 00:55
# ADS
-
August 1st, 2017, 01:12
#2
عضو دائم
پاسخ : آیا امکان پردازش موازی در php وجود داره؟
سلام، برای multi threading یا processing در php باید extension خارجی نصب و استفاده بکنید جون به صورت پیش فرض php همچین امکانی ندارد، php Parallel جستجوی بکنید.
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
August 1st, 2017, 01:43
#3
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
T.Toosi
سلام، برای multi threading یا processing در php باید extension خارجی نصب و استفاده بکنید جون به صورت پیش فرض php همچین امکانی ندارد، php Parallel جستجوی بکنید.
والا سرچ کردم ولی چیز زیادی متوجه نشدم.
شما خودتون روش خاصی رو که زیاد هم پیچیده نباشه مدنظر ندارید؟
-
-
August 1st, 2017, 12:54
#4
عضو انجمن
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
mehran-b
سلام بر اساتید و بزرگان
همون طور که میدونید کدها در php از بالا به پایین اجرا میشه و تا جایی که من میدونم امکان اینکه دو تابع رو همزمان بشه اجرا کرد وجود نداره.
سوال من از شما اینه که آیا امکان این کار وجود داره که بشه دو تابع تا دو فایل php رو همزمان اجرا کنم؟
تشکر
شما میتونی از therad برای اینکار استفاده کنید .
http://php.net/manual/en/book.pthreads.php
http://masnun.com/2013/12/15/multith...-it-right.html
البته اگر دلیل کارتون رو بگید بهتر میشه راهنمایی کرد
شاید اصلا لازم نباشه .
-
تعداد تشکر ها ازrezaonline.net به دلیل پست مفید
-
August 1st, 2017, 13:35
#5
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
rezaonline.net
در حال طراحی یک سیستم هوشمند خبری هستم و برای دریافت آخرین اخبار از منابع مورد نظر باید تابع مربوط به اون منبع رو فراخوانی کنم.
حدودا فرآیند ایندکس اخبار هر منبع 1 دقیقه زمان میبره و تعداد منابع زیاد هست به همین علت باید از پردازش موازی استفاده کنم تا زمان ایندکس مطالب رو کاهش بدم.
-
-
August 2nd, 2017, 04:47
#6
عضو دائم
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
mehran-b
در حال طراحی یک سیستم هوشمند خبری هستم و برای دریافت آخرین اخبار از منابع مورد نظر باید تابع مربوط به اون منبع رو فراخوانی کنم.
حدودا فرآیند ایندکس اخبار هر منبع 1 دقیقه زمان میبره و تعداد منابع زیاد هست به همین علت باید از پردازش موازی استفاده کنم تا زمان ایندکس مطالب رو کاهش بدم.
ابتدا باید php شما با دوباره با کانفیگ --enable-maintainer-zts ساخته یا همان Build بشه، سپس باید pthreads نصب کنید (آموزش نصب)، سپس برای استفاده، کدی که میخواهید در نخ جدا از thread برنامه اجرا کنید، باید یک کلاس باشد و این کلاس باید از کلاس Thread ارث بری کرده باشد، کلاس Thread یک متد با نام Run دارد که در کلاس خود باید implement کنید و کد هایی که میخواهید اجرا کنید در این متد قرار بدید.
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
August 2nd, 2017, 11:22
#7
عضو انجمن
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
mehran-b
در حال طراحی یک سیستم هوشمند خبری هستم و برای دریافت آخرین اخبار از منابع مورد نظر باید تابع مربوط به اون منبع رو فراخوانی کنم.
حدودا فرآیند ایندکس اخبار هر منبع 1 دقیقه زمان میبره و تعداد منابع زیاد هست به همین علت باید از پردازش موازی استفاده کنم تا زمان ایندکس مطالب رو کاهش بدم.
شما n فید خبری دارید ، پس بهتره بصورت صف اجراش کنید .
هر فید یک فیلد با سه پارامتر finish/in_process/wait داشته باشه
هر بار از صف یک فید wait بردارید و تغییر بدید به in_process و بعد از پایان تبدیل کنید به finish
فایل که این عملیات رو توش انجام میدید میتونید بصورت cronjob اجرا کنید مکرر
میتونید ده تا کران جاب بر روی این فایل اعمال کنید لذا مثل این هست که ده پروسس همزمان اجرا شود .
این روش مرسوم هست .
استفاده از pthread هم به سادگی امکان پذیر هست منتها مشکل اینجاست روی خیلی از هاست ها موجود نیست نصب نمیکنند.
-
تعداد تشکر ها ازrezaonline.net به دلیل پست مفید
-
August 3rd, 2017, 17:58
#8
پاسخ : آیا امکان پردازش موازی در php وجود داره؟
از ایزار Gearman هم میتونی توی php استفاده کنید
$worker= new GearmanWorker();
// add the job server (bad host/port)
$worker->addServer();
باید اکستنشن رو نصب کنید
-
تعداد تشکر ها از miladgh به دلیل پست مفید
-
August 5th, 2017, 14:49
#9
پاسخ : آیا امکان پردازش موازی در php وجود داره؟
اینگونه کارها بهتره که در cron و بکگراند انجام بشه.
در کرون میتونید چندین پروسس پی اچ پی را بدون اینکه نیاز باشه منتظر تموم شدن قبلی باشید اجرا کنید و به این صورت به صورت موازی چند پروسس پی اچ پی خواهید داشت.
-
تعداد تشکر ها ازPersianDOT به دلیل پست مفید
-
August 6th, 2017, 01:30
#10
پاسخ : آیا امکان پردازش موازی در php وجود داره؟

نوشته اصلی توسط
PersianDOT
اینگونه کارها بهتره که در cron و بکگراند انجام بشه.
در کرون میتونید چندین پروسس پی اچ پی را بدون اینکه نیاز باشه منتظر تموم شدن قبلی باشید اجرا کنید و به این صورت به صورت موازی چند پروسس پی اچ پی خواهید داشت.
بله خودمم هم با راهنمایی های که شما و دوستان کردید به این نتیجه رسیدم که باید از کرون جاب استفاده کرد.
-