tobi / delayed_job

Database backed asynchronous priority queue -- Extracted from Shopify
http://tobi.github.com/delayed_job
MIT License
2.15k stars 1.25k forks source link

ActiveRecords, UUIDs and Delayed Job #20

Open cmaion opened 14 years ago

cmaion commented 14 years ago

I'm moving some AR models to UUID's, instead of auto incremental ID's. Delayed Job stopped working with that kind of model.

Turns out that the AR_STRING_FORMAT regex used to find the ActiveRecord object assumes that their primary key (id) is made of digits only... which is incorrect when moving to UUID (mix of letters, digits and -).

Fixed it for myself, with the following change in performable_method.rb:

instead of: AR_STRING_FORMAT = /^AR:([A-Z][\w:]+):(\d+)$/ use: AR_STRING_FORMAT = /^AR:([A-Z][\w:]+):([\w-]+)$/

mikezaschka commented 14 years ago

Stumbled across the same problem today. Thanks for sharing!