Rails Insights

Sut i Ddechrau ActiveJob ar gyfer Peiriannau Gwahanol (Sidekiq, Sucker Punch, ac ati)

Mae ActiveJob yn rhan o'r fframwaith Ruby on Rails sy'n cynnig ffordd gyffredin i ddelio â phrosesau cefn. Mae'n caniatáu i chi ddefnyddio amrywiol beiriannau gwaith fel Sidekiq, Sucker Punch, a Resque heb orfod newid llawer o god. Yn yr erthygl hon, byddwn yn archwilio sut i sefydlu ActiveJob ar gyfer peiriannau gwahanol, gan gynnwys enghreifftiau o god a chamau gweithredu. Byddwn hefyd yn rhoi cyngor ar sut i ddewis y peiriant gwaith sy'n addas ar gyfer eich anghenion.

Beth yw ActiveJob?

ActiveJob yw'r API swyddi ar gyfer Ruby on Rails sy'n caniatáu i chi greu a rheoli swyddi cefn. Mae'n cynnig rhyngwyneb cyffredin ar gyfer sawl peiriant gwaith, gan ei gwneud hi'n hawdd i newid rhwng peiriannau heb orfod newid llawer o god. Mae ActiveJob yn cefnogi sawl peiriant, gan gynnwys:

  • Sidekiq
  • Sucker Punch
  • Resque
  • Delayed Job

Sefydlu ActiveJob gyda Sidekiq

Mae Sidekiq yn un o'r peiriannau gwaith mwyaf poblogaidd ar gyfer Ruby on Rails. Mae'n seiliedig ar Redis ac yn cynnig perfformiad uchel. Dyma sut i sefydlu ActiveJob gyda Sidekiq:

Cam 1: Gosod y gem

Y cam cyntaf yw ychwanegu Sidekiq i'ch prosiect. Agorwch eich ffeil Gemfile a chynnwys y llinell ganlynol:

gem 'sidekiq'

Yna, rhedeg y gorchymyn canlynol i osod y gem:

bundle install

Cam 2: Creu swydd ActiveJob

Gallwch greu swydd ActiveJob newydd trwy ddefnyddio'r gorchymyn canlynol:

rails generate job MyJob

Bydd hyn yn creu ffeil newydd yn app/jobs/my_job.rb. Gallwch ychwanegu'r cod canlynol i'r ffeil hon:

class MyJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Cod i'w weithredu
    puts "Gweithredu MyJob gyda'r args: #{args.inspect}"
  end
end

Cam 3: Defnyddio Sidekiq fel y peiriant gwaith

Mae angen i chi ddweud wrth ActiveJob i ddefnyddio Sidekiq fel y peiriant gwaith. Gallwch wneud hyn trwy ychwanegu'r canlynol i'ch ffeil config/application.rb:

config.active_job.queue_adapter = :sidekiq

Cam 4: Rhedeg Sidekiq

Y cam olaf yw rhedeg Sidekiq. Gallwch wneud hyn trwy ddefnyddio'r gorchymyn canlynol:

bundle exec sidekiq

Ar ôl i Sidekiq redeg, gallwch ddefnyddio eich swyddi ActiveJob. Er enghraifft, gallwch alw'r swydd fel hyn:

MyJob.perform_later('arg1', 'arg2')

Sefydlu ActiveJob gyda Sucker Punch

Mae Sucker Punch yn beiriant gwaith sy'n gweithio ar y gwefan, sy'n golygu nad oes angen i chi sefydlu unrhyw wasanaeth allanol fel Redis. Dyma sut i sefydlu ActiveJob gyda Sucker Punch:

Cam 1: Gosod y gem

Y cam cyntaf yw ychwanegu Sucker Punch i'ch prosiect. Agorwch eich ffeil Gemfile a chynnwys y llinell ganlynol:

gem 'sucker_punch'

Yna, rhedeg y gorchymyn canlynol i osod y gem:

bundle install

Cam 2: Creu swydd ActiveJob

Fel gyda Sidekiq, gallwch greu swydd ActiveJob newydd trwy ddefnyddio'r gorchymyn canlynol:

rails generate job MySuckerPunchJob

Ychwanegwch y cod canlynol i'r ffeil app/jobs/my_sucker_punch_job.rb:

class MySuckerPunchJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Cod i'w weithredu
    puts "Gweithredu MySuckerPunchJob gyda'r args: #{args.inspect}"
  end
end

Cam 3: Defnyddio Sucker Punch fel y peiriant gwaith

Mae angen i chi ddweud wrth ActiveJob i ddefnyddio Sucker Punch fel y peiriant gwaith. Gallwch wneud hyn trwy ychwanegu'r canlynol i'ch ffeil config/application.rb:

config.active_job.queue_adapter = :sucker_punch

Cam 4: Defnyddio'r swydd

Gallwch ddefnyddio'r swydd fel hyn:

MySuckerPunchJob.perform_later('arg1', 'arg2')

Dechrau gyda Resque

Mae Resque yn beiriant gwaith arall sy'n seiliedig ar Redis. Dyma sut i sefydlu ActiveJob gyda Resque:

Cam 1: Gosod y gem

Y cam cyntaf yw ychwanegu Resque i'ch prosiect. Agorwch eich ffeil Gemfile a chynnwys y llinell ganlynol:

gem 'resque'

Yna, rhedeg y gorchymyn canlynol i osod y gem:

bundle install

Cam 2: Creu swydd ActiveJob

Fel gyda'r peiriannau eraill, gallwch greu swydd ActiveJob newydd trwy ddefnyddio'r gorchymyn canlynol:

rails generate job MyResqueJob

Ychwanegwch y cod canlynol i'r ffeil app/jobs/my_resque_job.rb:

class MyResqueJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Cod i'w weithredu
    puts "Gweithredu MyResqueJob gyda'r args: #{args.inspect}"
  end
end

Cam 3: Defnyddio Resque fel y peiriant gwaith

Mae angen i chi ddweud wrth ActiveJob i ddefnyddio Resque fel y peiriant gwaith. Gallwch wneud hyn trwy ychwanegu'r canlynol i'ch ffeil config/application.rb:

config.active_job.queue_adapter = :resque

Cam 4: Rhedeg Resque

Gallwch redeg Resque trwy ddefnyddio'r gorchymyn canlynol:

QUEUE=* rake resque:work

Penderfynu ar y Peiriant Gwaith Cywir

Mae dewis y peiriant gwaith cywir yn dibynnu ar eich anghenion penodol. Dyma rai pwyntiau i'w hystyried:

  • Perfformiad: Os ydych chi'n chwilio am berfformiad uchel, efallai y bydd Sidekiq yn ddewis da.
  • Symlrwydd: Os ydych chi am beiriant syml heb orfod gosod gwasanaethau allanol, efallai y bydd Sucker Punch yn fwy addas.
  • Gweithrediadau ar y gwefan: Os ydych chi'n gweithio ar brosiect sy'n seiliedig ar y gwefan, efallai y bydd Sucker Punch neu Resque yn well.

Casgliad

Mae ActiveJob yn cynnig ffordd hawdd i ddelio â swyddi cefn yn Ruby on Rails. Mae'n caniatáu i chi ddefnyddio amrywiol beiriannau gwaith fel Sidekiq, Sucker Punch, a Resque heb orfod newid llawer o god. Drwy ddilyn y camau a ddisgrifiwyd yn yr erthygl hon, gallwch sefydlu ActiveJob yn hawdd ar gyfer eich prosiect. Peidiwch ag anghofio ystyried eich anghenion penodol wrth ddewis y peiriant gwaith cywir. Mae pob peiriant yn cynnig ei fanteision a'i anfanteision ei hun, felly dewiswch y gorau ar gyfer eich prosiect.

Published: August 22, 2024

© 2024 RailsInsights. All rights reserved.