راکت
حل شده

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

7 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

7
مصطفی خراشادی زاده
مصطفی خراشادی زاده
@safakh
بهترین پاسخ

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

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

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

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

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

مصطفی خراشادی زاده
مصطفی خراشادی زاده
@safakh

علیک سلام

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

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

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

الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

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

شاید پاسخ شما همین‌جا باشد

مصطفی خراشادی زاده
مصطفی خراشادی زاده
@safakh

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

الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

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

مصطفی خراشادی زاده
مصطفی خراشادی زاده
@safakh

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

الیاس سخاوتی نیا
الیاس سخاوتی نیا
@elyassir

تخصص: علاقه‌مند به برنامه‌‎نویسی

@safakh

دستور

php artisan queue:work

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

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

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

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