به چه شکلی میشه این حالت رو در لاراول پیاده سازی کرد؟ (قسمتی از صفحه که نیاز به زمان پردازش بیشتری داره، از زمان لود سایت کنار گذاشته بشه و بعد از لود کامل صفحه همچنان به پردازش ادامه بده)
سلام این تصویری که شما ارسال کردید چیه !؟
و اینکه php یک زبان sync هست و بشکل پیشفرض نمیشه چیزی رو بشکل async تعریف کرد .
تصویریم که قرار دادید صرفا یک ui هست که میتونه بخش های مختلفش با درخواست های http جدا از هم لود بشه
@hesammousavi
سلام عکس برای این بود که منظورم رو بهتر برسونم. اون بخشی از عکس مد نظرم بود که بعد از لود صفحه، هنوز دو تا بلاک که نیاز به پردازش طولانیتر دارن در حال لود شدن هستن. در حالی که بقیه صفحه کامل لود شده.
پس با لاراول نمیشه همچین کاری انجام داد؟ پکیجی برای اینکار وجود نداره؟
برای انجام این کار باید از Queue ها استفاده کنید. وقتی قصد دارید تا عملیاتی را بصورت همزمان انجام دهید باید آن را داخل یک صف اجرا کنید تا در یک thread دیگری اجرا شود مشکل این ترفند این هست که شما نمی توانید از Queue ها خروجی بگیرید و اگر بخواهید خروجی داشته باشید باید از ترفند های گونان نظیر کش استفاده کنید
@mehdints
میشه یه نمونه کد برای گرفتن خروجی این حالت از queue قرار بدید؟
در ضمن با ajax نمیشه همچین کاری انجام داد؟
با سلام. اینکار رو میتونید با درخواست های ajax انجام بدید که به صورت async اجرا میشن. البته در اینجا چیزی که فرستادید بخشی از UI بود و بکند کار مشخص نیست چیه و چجوری کار میکنه!
اما برای php اگه میخواید async کار کنید از پکیج زیر استفاده کنید.
https://github.com/spatie/async
https://stitcher.io/blog/asynchronous-php
در حالت کلی php به صورت sync هست اما پکیج بالا حالت async رو براتون شبیه سازی میکنه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟