🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی
queue in laravel
جامعه لاراول ایجاد شده در ۱۵ اردیبهشت ۱۴۰۱

سلام و خسته نباشید

تو داکیومت queue لاراول با متن زیر مواجه شدم

Each time the job exceeds the rate limit, this middleware will release the job back to the queue with an appropriate delay based on the rate limit duration.

منظور از release the job back to the queue چیه؟ میشه با یک مثال عبارت بالارو توضیح بدید ؟

سلام علی عزیز، وقت به خیر، فکر کن یه اپلیکیشن داری که دارای ۲ مدل کاربر هست، کاربر Vip و کاربر عادی و به اونها اجازه میده که از داده هاشون در اپلیکیشن بک آپ بگیرن. حالا شما میخواین که برای این ۲ مدل کاربرتون محدودیت تعداد بک آپ در روز و یا ساعت ست کنید. مثلا اکانت‌های vip هر روز و در تعداد نامحدود میتونه بک آپ بگیره ولی اکانت عادی فقط هر ۱۲ ساعت میتونه یک بک آپ بگیره.

اکانت Vip که بحثش مشخص هست ولی اگه کاربر عادی در ۱۲ ساعت، ۲ مرتبه درخواست بده، درخواست اول انجام میشه بدون هیچ مشکلی ولی درخواست دومش بواسطه Ratelimit Middleware دوباره به صف برگردونده (release the job back to the queue) میشه بطوریکه دفعه بعدی حتما کارش (Job) Pass میشه (خود Middleware ساعتی که Job باید پردازش بشه رو طوری ست میکنه که اون کار در ابتدای ۱۲ ساعت دوم قرار بگیره و حتما پردازش بشه). حالا خودتون هم بصورت پیشفرض میتونید با استفاده از متد delay زمان پردازش jobتون رو مشخص کنید.

بهترین پاسخ
محمد حسن عاطفت ۲۰ اردیبهشت ۱۴۰۱، ۱۳:۴۴