#
Solo Job Example
This example demonstrates how to ensure only one instance of the job is executed at any given time.
#
Code
# jobs/solo.rb
class Solo < Jobly::Job
solo
on_skip do
at 70, "Skipped"
logger.info "Job was skipped"
end
def execute(name: 'bob')
total 100
at 10, "Initializing"
sleep 20
at 100, "Done"
end
end
#
Commands to Try
Before running these commands, it is recommended you open the Statuses tab in the web dashboard.
cd examples/solo
# Start the server and worker
foreman start
# From another terminal, send the Solo job twice
jobly send Solo
jobly send Solo
# Finally, while the job is still locked, send it again with different
# parameters (and therefore, a different fingerprint).
jobly send Solo name:Bart