سلام دوستان
من یه جدول کاربران دارم که حدود 100 تا کاربر داره
یه فایل php دارم که آیدی این کاربر ها رو میگیره و یه سری عملیات انجام میده برای اون کاربر (هر کاربر حدود 1 دقیقه طول میکشه این عملیاتش)
حالا میخوام با کرون جاب سی پنل این فایل php رو هر 24 یا 48 ساعت یه بار فراخوانی کنم ولی یه مشکلی هست که اگه بیام توی یه بار 100 تا کاربر رو فراخوانی کنم حدود 100 دقیقه طول میکشه که خب نمیشه و خطای maxexecutiontime تایم میده و 100 دقیقه هم زیاده برای سی پنل
راهی هست که به جای اینکه این فایل یه بار اجرا بشه و 100 دقیقه طول بکشه تا اجرا بشه، 100 بار اجرا بشه و هر بار 1 دقیقه طول بکشه؟؟ (یعنی به ازای هر کاربر یه بار اجرا بشه)
ممنون میشم راهنمایی کنین.
تشکر
در لاراول مفهوم به نام جاب وجود داره
که جاب آیتم هایی هستند که به داخل صف میرند
حالا شما باید بیایید اون منطق تون به داخل یک جاب منتقل کنید و به ازای هر کاربر
این جاب وارد صف بشه
یعنی اینکه با یک بار اجرای اون فایل ۱۰۰ تا آیتم به داخل صفحه وارد میشه
و پس از اون صف آیتم ها رو دونه دونه شروع به انجام دادن میکنه تا تموم بشه
@elyas.dev توصیه میکنم یک بار کامل این صفحه رو مطالعه کنید چون هم جاب توضیح داده شده هم صف ها
https://laravel.com/docs/8.x/queues
علیک سلام
به نظر من شما باید دنبال مفهوم به نام صف باشی برای این کار
اگر داخل لاراول بود که همه چیز آماده بود
حالا نمیدونم شرایط شما چطوریه
@safakh
مشکلی نداره به لاراول منتقل میکنم کدهامو
چجوری با صف میتونم بگم این فایل 100 بار اجرا بشه؟ (به ازای هر id کاربر داخل جدول یه بار)
ندونستم دقیقا چی سرچ کنم
در لاراول مفهوم به نام جاب وجود داره
که جاب آیتم هایی هستند که به داخل صف میرند
حالا شما باید بیایید اون منطق تون به داخل یک جاب منتقل کنید و به ازای هر کاربر
این جاب وارد صف بشه
یعنی اینکه با یک بار اجرای اون فایل ۱۰۰ تا آیتم به داخل صفحه وارد میشه
و پس از اون صف آیتم ها رو دونه دونه شروع به انجام دادن میکنه تا تموم بشه
@elyas.dev توصیه میکنم یک بار کامل این صفحه رو مطالعه کنید چون هم جاب توضیح داده شده هم صف ها
https://laravel.com/docs/8.x/queues
@safakh
بله ممنونم توی کرون جاب سی پنل هم اوکی شد
البته یکم مشکل دارم که مربوط به لاراول نیس مربوط به سی پنله و دارم سرچ میکنم تا حلش کنم
دستور
php artisan queue:work
رو اجرا میکردم ولی job ها fail میشن
خطاتوی کد ها بود در صورتی که کد من خطا نداشت و اصلاح کرده بودم.
فهمیدم که باید دستور رو دوباره اجرا کنم تا تغییرات کد ها اعمال بشه.
ولی خب توی کرون جاب سی پنل همچنان job ها fail میشن و خطایی رو میگیره که من اصلاح کردم.
اما انگار داره همون كد قديمي كه اشتباه بود رو ران ميكنه.
بعضي وقتا هم خطاي timeout ميده و من timeout=0-- رو هم اضافه كردم ولي بازم ارور داره
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟