Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: Database queue logic

by moot (Chaplain)
on Jun 14, 2005 at 14:34 UTC ( #466577=note: print w/replies, xml ) Need Help??


in reply to Re: Database queue logic
in thread Database queue logic

You're still racing between the select and the update, although something like this might work:

  • Update records where 'owner' column is null, with *my* value and timestamp now().
  • Select records with my owner value *or* where timestamp is older than threshold. This catches the case where some records have gone stale because a process died or what-have-you.
  • Process & delete selected records.
This way you're letting the database server handle updating the correct records. Depending on how speedily new records are added to the queue, it seems likely that processes will be working with records more than waiting for selects. Of course this approach doesn't help with splitting the records evenly between processes, but neither will a mutex.

Replies are listed 'Best First'.
Re^3: Database queue logic
by Marcello (Hermit) on Jun 15, 2005 at 08:05 UTC
    Good solution,

    I will try this approach shortly.

    Thanks all!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://466577]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2017-12-13 05:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (345 votes). Check out past polls.

    Notices?