public
Fork of tobi/delayed_job
Description: Database based asynchronously priority queue system -- Extracted from Shopify
Homepage: http://www.shopify.com
Clone URL: git://github.com/smn/delayed_job.git
removing mysql specific backticks for column names so DJ plays nice with 
postgresql
smn (author)
Tue Jun 03 00:26:15 -0700 2008
commit  218691b38a0b9da8c18a11a7929ea3a0677b7ab6
tree    885e1b77364b516fe3cf4bc6ee91805ec35d93b2
parent  b9dc92b9ca14e7cf2ec892c3ca3a1cb006989838
...
10
11
12
13
 
14
15
16
...
18
19
20
21
 
22
23
24
...
86
87
88
89
90
 
 
91
92
93
...
96
97
98
99
100
 
 
101
102
103
...
10
11
12
 
13
14
15
16
...
18
19
20
 
21
22
23
24
...
86
87
88
 
 
89
90
91
92
93
...
96
97
98
 
 
99
100
101
102
103
0
@@ -10,7 +10,7 @@ module Delayed
0
     self.worker_name = "pid:#{Process.pid}"
0
     
0
     
0
- NextTaskSQL = '`run_at` <= ? AND (`locked_until` IS NULL OR `locked_until` < ?) OR (`locked_by`=?)'
0
+ NextTaskSQL = 'run_at <= ? AND (locked_until IS NULL OR locked_until < ?) OR (locked_by=?)'
0
     NextTaskOrder = 'priority DESC, run_at ASC'
0
     ParseObjectFromYaml = /\!ruby\/\w+\:([^\s]+)/
0
 
0
@@ -18,7 +18,7 @@ module Delayed
0
     end
0
 
0
     def self.clear_locks!
0
- connection.execute "UPDATE #{table_name} SET `locked_by`=NULL, `locked_until`=NULL WHERE `locked_by`=#{quote_value(worker_name)}"
0
+ connection.execute "UPDATE #{table_name} SET locked_by=NULL, locked_until=NULL WHERE locked_by=#{quote_value(worker_name)}"
0
     end
0
       
0
     def payload_object
0
@@ -86,8 +86,8 @@ module Delayed
0
         # We don't own this job so we will update the locked_by name and the locked_until
0
         connection.update(<<-end_sql, "#{self.class.name} Update to aquire exclusive lock")
0
           UPDATE #{self.class.table_name}
0
- SET `locked_until`=#{quote_value(lock_until)}, `locked_by`=#{quote_value(worker)}
0
- WHERE #{self.class.primary_key} = #{quote_value(id)} AND (`locked_until`<#{quote_value(self.class.db_time_now)} OR `locked_until` IS NULL)
0
+ SET locked_until=#{quote_value(lock_until)}, locked_by=#{quote_value(worker)}
0
+ WHERE #{self.class.primary_key} = #{quote_value(id)} AND (locked_until<#{quote_value(self.class.db_time_now)} OR locked_until IS NULL)
0
         end_sql
0
 
0
       else
0
@@ -96,8 +96,8 @@ module Delayed
0
         # Simply update the lock timeout
0
         connection.update(<<-end_sql, "#{self.class.name} Update exclusive lock")
0
           UPDATE #{self.class.table_name}
0
- SET `locked_until`=#{quote_value(lock_until)}
0
- WHERE #{self.class.primary_key} = #{quote_value(id)} AND (`locked_by`=#{quote_value(worker)})
0
+ SET locked_until=#{quote_value(lock_until)}
0
+ WHERE #{self.class.primary_key} = #{quote_value(id)} AND (locked_by=#{quote_value(worker)})
0
         end_sql
0
 
0
       end

Comments

    No one has commented yet.