ActiveRecords, UUIDs and Delayed Job #20

Open
cmaion opened this Issue Jan 21, 2010 · 1 comment

2 participants

@cmaion

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

Stumbled across the same problem today.
Thanks for sharing!

@latentflip latentflip pushed a commit to latentflip/delayed_job that referenced this issue Sep 9, 2011
@bkeepers bkeepers Only use Time.zone if it is set. Closes #20 3366c1e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment