collectiveidea / delayed_job

Database based asynchronous priority queue system -- Extracted from Shopify
http://groups.google.com/group/delayed_job
MIT License
4.82k stars 956 forks source link

Improve PerformableMethod logging #1187

Open qpSHiNqp opened 1 year ago

qpSHiNqp commented 1 year ago

Just a small logging improvement for PerformableMethod. This PR adds warning message when Object#delay is called with a block given.

Use case: The code below won't perform as intended because blocks cannot be serialized and thus a job will ignore the block.

SomeModel.first.delay.tap do |record|
  record.touch # => raises "LocalJumpError: no block given"
end

I think it is convenient to display a warning like Ignored the block XXX because it cannot be serialized. when developers using the gem accidentally give block.