PDA

View Full Version : سوال: اجرای SoapClient بعد از دادن خروجی کلاس



amin7x
یک شنبه 29 آذر 1394, 17:35 عصر
سلام و خسته نباشید
من یک کلاس دارم که یکی از متدهاش از Soap استفاده می‌کنه حالا میخوام برای اینکه یوزر زیاد معطل نشه که تابع soap کارش رو انجام بده اونو بعد از این که کلاس خروجی مربوطه رو داد اجرا کنه ولی متاسفانه وقتی تابع soap رو بعد از دستور return میذارم عملیاتی انجام نمیده.
ممنون میشم راهنمایی کنید که چطوری تابع soap اجرا بشه بدون اینکه کاربر معطل بمونه.

رضا قربانی
سه شنبه 01 دی 1394, 21:35 عصر
سلام و خسته نباشید
من یک کلاس دارم که یکی از متدهاش از Soap استفاده می‌کنه حالا میخوام برای اینکه یوزر زیاد معطل نشه که تابع soap کارش رو انجام بده اونو بعد از این که کلاس خروجی مربوطه رو داد اجرا کنه ولی متاسفانه وقتی تابع soap رو بعد از دستور return میذارم عملیاتی انجام نمیده.
ممنون میشم راهنمایی کنید که چطوری تابع soap اجرا بشه بدون اینکه کاربر معطل بمونه.

با چشم یه کاربر ، پیام خودت رو بخون و ببین اصلا خودت متوجه میشی چی می خوایی :لبخند:

مهرداد سیف زاده
سه شنبه 01 دی 1394, 23:04 عصر
سلام و خسته نباشید
من یک کلاس دارم که یکی از متدهاش از Soap استفاده می‌کنه حالا میخوام برای اینکه یوزر زیاد معطل نشه که تابع soap کارش رو انجام بده اونو بعد از این که کلاس خروجی مربوطه رو داد اجرا کنه ولی متاسفانه وقتی تابع soap رو بعد از دستور return میذارم عملیاتی انجام نمیده.
ممنون میشم راهنمایی کنید که چطوری تابع soap اجرا بشه بدون اینکه کاربر معطل بمونه.
این کار رو باید بفرستید به background. یکم تخصصی هست. fork (http://php.net/manual/en/function.pcntl-fork.php) کلا یه قسمت و پروسس رو جدا میکنه. دستور انتهاری هست ولی کار راه ندازه و خروجی وب سرویس رو بریزید توی دیتابیس یا فایل و دیگه همون لحظه معطل جواب نباشید. توی php یه سری افراد async رو تونستن پیاده سازی کنن. دو لینک زیر دقیقا خواسته شما هست. منم برای این جور کارهای روش خودم رو دارم. یعنی باید برنامم روی سرور اجرا بشه. یه تابع به c مینویسم توی background هست و از سمت php براش پکت udp ارسال میکنم و اونم میاد دیتوراتم رو اجرا میکنه.
http://stackoverflow.com/questions/128537/php-async-web-services
http://stackoverflow.com/questions/124462/asynchronous-php-calls
در مورد return شما اصول function رو دارید زیر سوال میبرید. فانکشنی که به return میرسه یعنی دیگه کارش در اون تابع تمومه و دستورات ادامه پیدا نمیکنه. اون وقت شما soap رو گذاشتید بعد از return.

arta.nasiri
سه شنبه 01 دی 1394, 23:16 عصر
شما بعد از اینکه return کردید دیگه امکانش نیست خطوط بعد از اون اجرا بشه.
من تو پروژه های این چنینی مثل ارسال پیامک از یه صف استفاده میکنم و با استفاده از cron job در مواقعی که بار روی سرور کمه اقدام به اجرای دستوراتی که تو صف هستن میکنم.

amin7x
یک شنبه 06 دی 1394, 13:54 عصر
با چشم یه کاربر ، پیام خودت رو بخون و ببین اصلا خودت متوجه میشی چی می خوایی
خب 2 نفر متوجه شدند و همچنین خلاصه سوالم رو انتهای پستم نوشتم -> "چطوری تابع soap اجرا بشه بدون اینکه کاربر معطل بمونه."


این کار رو باید بفرستید به background. یکم تخصصی هست. fork کلا یه قسمت و پروسس رو جدا میکنه. دستور انتهاری هست ولی کار راه ندازه و خروجی وب سرویس رو بریزید توی دیتابیس یا فایل و دیگه همون لحظه معطل جواب نباشید. توی php یه سری افراد async رو تونستن پیاده سازی کنن. دو لینک زیر دقیقا خواسته شما هست. منم برای این جور کارهای روش خودم رو دارم. یعنی باید برنامم روی سرور اجرا بشه. یه تابع به c مینویسم توی background هست و از سمت php براش پکت udp ارسال میکنم و اونم میاد دیتوراتم رو اجرا میکنه.
http://stackoverflow.com/questions/128537/php-async-web-services
http://stackoverflow.com/questions/124462/asynchronous-php-calls
در مورد return شما اصول function رو دارید زیر سوال میبرید. فانکشنی که به return میرسه یعنی دیگه کارش در اون تابع تمومه و دستورات ادامه پیدا نمیکنه. اون وقت شما soap رو گذاشتید بعد از return.
مبحث جدیدیه واسم، باید تحقیق کنم بعدش سوالاتم رو میپرسم.


شما بعد از اینکه return کردید دیگه امکانش نیست خطوط بعد از اون اجرا بشه.
من تو پروژه های این چنینی مثل ارسال پیامک از یه صف استفاده میکنم و با استفاده از cron job در مواقعی که بار روی سرور کمه اقدام به اجرای دستوراتی که تو صف هستن میکنم.

ممنون میشم مثالی یا نمونه کدی در اختیارم قرار بدید.