الیاس سخاوتی نیا
3 سال پیش توسط الیاس سخاوتی نیا مطرح شد
7 پاسخ

راهنمایی برای اجرای یک فایل php در کرون جاب سی پنل

سلام دوستان
من یه جدول کاربران دارم که حدود 100 تا کاربر داره
یه فایل php دارم که آیدی این کاربر ها رو میگیره و یه سری عملیات انجام میده برای اون کاربر (هر کاربر حدود 1 دقیقه طول میکشه این عملیاتش)
حالا میخوام با کرون جاب سی پنل این فایل php رو هر 24 یا 48 ساعت یه بار فراخوانی کنم ولی یه مشکلی هست که اگه بیام توی یه بار 100 تا کاربر رو فراخوانی کنم حدود 100 دقیقه طول میکشه که خب نمیشه و خطای maxexecutiontime تایم میده و 100 دقیقه هم زیاده برای سی پنل
راهی هست که به جای اینکه این فایل یه بار اجرا بشه و 100 دقیقه طول بکشه تا اجرا بشه، 100 بار اجرا بشه و هر بار 1 دقیقه طول بکشه؟؟ (یعنی به ازای هر کاربر یه بار اجرا بشه)
ممنون میشم راهنمایی کنین.
تشکر


ثبت پرسش جدید
مصطفی خراشادی زاده
@safakh 3 سال پیش مطرح شد
1

در لاراول مفهوم به نام جاب وجود داره

که جاب آیتم هایی هستند که به داخل صف میرند

حالا شما باید بیایید اون منطق تون به داخل یک جاب منتقل کنید و به ازای هر کاربر
این جاب وارد صف بشه

یعنی اینکه با یک بار اجرای اون فایل ۱۰۰ تا آیتم به داخل صفحه وارد میشه
و پس از اون صف آیتم ها رو دونه دونه شروع به انجام دادن میکنه تا تموم بشه

@elyas.dev توصیه میکنم یک بار کامل این صفحه رو مطالعه کنید چون هم جاب توضیح داده شده هم صف ها
https://laravel.com/docs/8.x/queues


مصطفی خراشادی زاده
@safakh 3 سال پیش مطرح شد
1

علیک سلام

به نظر من شما باید دنبال مفهوم به نام صف باشی برای این کار

اگر داخل لاراول بود که همه چیز آماده بود

حالا نمیدونم شرایط شما چطوریه


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

@safakh
مشکلی نداره به لاراول منتقل میکنم کدهامو
چجوری با صف میتونم بگم این فایل 100 بار اجرا بشه؟ (به ازای هر id کاربر داخل جدول یه بار)
ندونستم دقیقا چی سرچ کنم


مصطفی خراشادی زاده
@safakh 3 سال پیش مطرح شد
1

در لاراول مفهوم به نام جاب وجود داره

که جاب آیتم هایی هستند که به داخل صف میرند

حالا شما باید بیایید اون منطق تون به داخل یک جاب منتقل کنید و به ازای هر کاربر
این جاب وارد صف بشه

یعنی اینکه با یک بار اجرای اون فایل ۱۰۰ تا آیتم به داخل صفحه وارد میشه
و پس از اون صف آیتم ها رو دونه دونه شروع به انجام دادن میکنه تا تموم بشه

@elyas.dev توصیه میکنم یک بار کامل این صفحه رو مطالعه کنید چون هم جاب توضیح داده شده هم صف ها
https://laravel.com/docs/8.x/queues


مصطفی خراشادی زاده
@safakh 3 سال پیش مطرح شد
1

@elyas.dev مشکل شما حل شد با این روش ؟!


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

@safakh
بله ممنونم توی کرون جاب سی پنل هم اوکی شد
البته یکم مشکل دارم که مربوط به لاراول نیس مربوط به سی پنله و دارم سرچ میکنم تا حلش کنم


مصطفی خراشادی زاده
@safakh 3 سال پیش مطرح شد
0

اگر امکانش هست همین جا بفرمایید تا اگر کسی بدونه کمک کنه


الیاس سخاوتی نیا
تخصص : علاقه‌مند به برنامه‌‎نویسی
@elyassir 3 سال پیش مطرح شد
0

@safakh

دستور

php artisan queue:work

رو اجرا میکردم ولی job ها fail میشن
خطاتوی کد ها بود در صورتی که کد من خطا نداشت و اصلاح کرده بودم.
فهمیدم که باید دستور رو دوباره اجرا کنم تا تغییرات کد ها اعمال بشه.
ولی خب توی کرون جاب سی پنل همچنان job ها fail میشن و خطایی رو میگیره که من اصلاح کردم.
اما انگار داره همون كد قديمي كه اشتباه بود رو ران ميكنه.

بعضي وقتا هم خطاي timeout ميده و من timeout=0-- رو هم اضافه كردم ولي بازم ارور داره


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام