Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

10 Commits

Repository files navigation

Execute methods asynchronously without having to create extra classes.

Utility code (feel free to paste it into your codebase) to convert your active records or any ruby object into Sidekiq background jobs.

Note: It is based on Sidekiq but easily adaptable to ActiveJob or similar implementations of background processing for ruby.

Use

Include ExecAsync in your class:

classOrder < ApplicationRecordincludeExecAsyncdefself.notify_deliveries_for_today# Send emails, push notifications, etc...enddefship_it(to:)# Send messages or communicate with an API...enddeftrack_delivery# Run a process that listen for ping signals...endendorder=Order.find(123)# Execute the ship_in in bgorder.exec_async:shipt_it,to: "9703 Pilgrim Street Hagerstown, MD 21740"# Schedule (or delay) the execution for two hoursorder.exec_async_in2.hours,:track_delivery# Customize the sidekiq joborder.exec_async_in2.hours,:track_delivery,queue: :low_priority

It also supports class methods:

Order.exec_async:notify_deliveries_for_today

About

Add asynchrony to ruby methods with one line.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages