سلام دوستان! امروز میخواهیم درباره یک ویژگی جدید در لاراول 11 صحبت کنیم که به نام PendingChain شناخته میشود. این قابلیت به ما این امکان را میدهد تا بهتر و موثرتر با صفها و وظایف در لاراول کار کنیم. مطمئناً شما هم مثل بسیاری از توسعهدهندگان با صفها آشنایی دارید و میدانید چقدر میتوانند در مدیریت درخواستها و انجام کارهای پسزمینه کمککننده باشند.
PendingChain بهخصوص زمانی که شما نیاز به زنجیرهای از وظایف دارید که هر کدام بعد از دیگری اجرا شوند، بسیار کارآمد است. به طور مثال، ممکن است در برنامه خود بخواهید چند وظیفه را به صورت زنجیرهای اجرا کنید، برای مثال: اول یک وظیفه برای فراخوانی API، سپس دریافت دادهها، و در نهایت ذخیره آنها در دیتابیس. اینجا است که PendingChain به کار ما میآید.
با استفاده از متد onQueue در PendingChain، شما میتوانید تعیین کنید که این زنجیره وظایف روی کدام صف اجرا شود. این قابلیت به خصوص زمانی که چندین صف دارید و میخواهید بار کاری را با توجه به اولویتهای مختلف مدیریت کنید، مفید است.
به زبان ساده، PendingChain میتواند به شما این امکان را بدهد که به راحتی وظایف را مدیریت کرده و از پیچیدگیهای غیرضروری جلوگیری کنید. بنابراین پیشنهاد میکنم حتماً با این ویژگی آشنا شوید و از آن در پروژههای خود استفاده کنید!
مثال عملی
$chain = new PendingChain([
new FirstJob(),
new SecondJob(),
new ThirdJob(),
]);
$chain->onQueue('your-queue-name')->dispatch();
توضیحات کد
$chain = new PendingChain([]);
این خط یک شیء جدید از PendingChain ایجاد میکند و شما میتوانید وظایف را در داخل آرایه بسازید.
new FirstJob(),
این خط یک کار اول از نوع FirstJob را به لیست زنجیره اضافه میکند.
onQueue('your-queue-name')
این متد تعیین میکند که زنجیره وظایف در کدام صف اجرا شود.
dispatch();
در نهایت، این دستور زنجیره وظایف را ارسال میکند تا اجرا شود.