برنامه نویسی

نحوه استفاده از Sidekiq در Rails 7: Background Jobs

در این وبلاگ، نحوه استفاده از مشاغل پس‌زمینه با Sidekiq در Rails 7 را برای انجام وظایف طولانی‌مدت، از جمله:

  1. مشاغل پس زمینه چیست و چرا از آنها استفاده کنید
  2. راه اندازی Sidekiq در برنامه Rails 7 خود
  3. ایجاد و اجرای کارهای پس زمینه با استفاده از Sidekiq
  4. اشکال زدایی و نظارت بر کارهای پس زمینه با Sidekiq

در Rails، کارهای پس‌زمینه برای پردازش کارهای طولانی‌مدت به صورت ناهمزمان، مانند ارسال ایمیل، تولید گزارش، یا پردازش مجموعه داده‌های بزرگ استفاده می‌شود. به جای مسدود کردن رشته اصلی برنامه و به طور بالقوه کاهش سرعت تجربه کاربر، کارهای پس زمینه به شما امکان می دهند وظایف را در پس زمینه اجرا کنید و رشته اصلی را برای رسیدگی به سایر درخواست ها آزاد کنید.

چندین مزیت برای استفاده از مشاغل پس زمینه وجود دارد:

  • بهبود تجربه کاربری: با انتقال وظایف طولانی مدت به پس زمینه، کاربران شما از استفاده از برنامه شما در زمانی که وظایف در حال پردازش هستند مسدود نخواهند شد.

  • مقیاس پذیری: اجرای وظایف در پس‌زمینه به برنامه شما اجازه می‌دهد تا مقیاس مؤثرتری داشته باشد. از آنجایی که کارهای پس‌زمینه معمولاً در یک رشته جداگانه اجرا می‌شوند، برنامه شما می‌تواند چندین درخواست را همزمان پردازش کند.

  • افزایش قابلیت اطمینان: کارهای پس‌زمینه را می‌توان در صورت شکست به‌طور خودکار دوباره امتحان کرد و از تکمیل موفقیت‌آمیز کارها اطمینان حاصل کرد.


Sidekiq یک چارچوب پردازش شغلی پس زمینه محبوب برای Rails است. از Redis برای مدیریت و پردازش مشاغل استفاده می کند، و یک روش ساده و کارآمد برای مدیریت مشاغل پس زمینه ارائه می دهد. برای استفاده از Sidekiq در برنامه Rails 7 خود، این مراحل را دنبال کنید:

  1. اضافه کردن sidekiq Gem به Gemfile شما:
gem 'sidekiq' 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. اجرا کن bundle install برای نصب نگین

  2. خود را به روز کنید config/application.rb فایل شامل میان افزار Sidekiq:

config.active_job.queue_adapter = :sidekiq
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


برای ایجاد و اجرای کارهای پس زمینه با استفاده از Sidekiq در Rails 7، این مراحل را دنبال کنید:

  1. ایجاد یک کار جدید با استفاده از rails generate job دستور:
rails generate job MyJob
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این کار یک فایل شغلی جدید در app/jobs فهرست راهنما.

  1. برای تعریف کاری که باید انجام شود، فایل کار را ویرایش کنید:
class MyJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Add your long-running task here
  end
end
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. شغل را در کد برنامه خود در نوبت قرار دهید:
MyJob.perform_later(args)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این کار را در صف قرار می دهد default صف

  1. Sidekiq را برای پردازش کار شروع کنید:
bundle exec sidekiq
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


در حالی که کارهای پس زمینه می توانند برنامه شما را کارآمدتر و پاسخگوتر کنند، آنها همچنین می توانند چالش های جدیدی را برای اشکال زدایی و نظارت ایجاد کنند. خوشبختانه، Sidekiq یک رابط وب ساده برای نظارت و رفع اشکال کارهای پس زمینه شما ارائه می دهد.

برای دسترسی به رابط وب Sidekiq، کد زیر را در مسیرهای خود اضافه کنید:

require 'sidekiq/web'
mount Sidekiq::Web => '/sidekiq'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون سرور Sidekiq را با اجرا راه اندازی کنید bundle exec sidekiq در دایرکتوری برنامه Rails شما. سپس، برای مشاهده داشبورد Sidekiq، به http://localhost:3000/sidekiq در مرورگر وب خود بروید.

داشبورد اطلاعات مربوط به سرور Sidekiq، از جمله تعداد کارهای در حال اجرا و در نوبت را نمایش می دهد. همچنین می توانید اطلاعات مربوط به مشاغل فردی مانند وضعیت آنها و هرگونه خطای رخ داده را مشاهده کنید.

علاوه بر رابط وب، Sidekiq چندین ابزار دیگر را برای نظارت و اشکال زدایی مشاغل پس زمینه شما ارائه می دهد. برای مثال، می‌توانید Sidekiq را برای ارسال اعلان‌های ایمیل در صورت شکست شغل‌ها پیکربندی کنید، یا از Sidekiq API برای بازیابی اطلاعات مربوط به مشاغل خود به‌صورت برنامه‌نویسی استفاده کنید.

نتیجه

ادامه مطلب را در سایت رسمی سیدیق بخوانید.

در این مقاله، نحوه استفاده از کارهای پس‌زمینه با Sidekiq در Rails 7 را بررسی کرده‌ایم. نحوه نصب و پیکربندی Sidekiq، نحوه تعریف و ردیف کردن کارهای پس‌زمینه، و نحوه نظارت و اشکال‌زدایی مشاغل خود با استفاده از رابط وب Sidekiq و موارد دیگر را توضیح دادیم. ابزار.

با استفاده از کارهای پس‌زمینه با Sidekiq، می‌توانید عملکرد و پاسخ‌دهی برنامه Rails خود را بهبود ببخشید و در عین حال آن را قوی‌تر و مقاوم‌تر کنید. بنابراین اگر قبلاً از کارهای پس‌زمینه در برنامه‌های Rails خود استفاده نمی‌کنید، Sidekiq را امتحان کنید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا