comparison pkg/imports/queue.go @ 1995:59055c8301df

Move import queue to its own database namespace Authorisation of the import queue has to be handled differently from the waterway-related data in the waterway schema. This is easier to handle, if both are in their own schema/namespace.
author Tom Gottfried <tom@intevation.de>
date Thu, 24 Jan 2019 12:56:31 +0100
parents 8eeb0b5eb340
children b868cb653c4d
comparison
equal deleted inserted replaced
1994:a7c4005b723f 1995:59055c8301df
132 132
133 const ( 133 const (
134 queueUser = "sys_admin" 134 queueUser = "sys_admin"
135 135
136 reEnqueueRunningSQL = ` 136 reEnqueueRunningSQL = `
137 UPDATE waterway.imports SET state = 'queued'::waterway.import_state 137 UPDATE import.imports SET state = 'queued'::import_state
138 WHERE state = 'running'::waterway.import_state` 138 WHERE state = 'running'::import_state`
139 139
140 insertJobSQL = ` 140 insertJobSQL = `
141 INSERT INTO waterway.imports ( 141 INSERT INTO import.imports (
142 kind, 142 kind,
143 due, 143 due,
144 trys_left, 144 trys_left,
145 retry_wait, 145 retry_wait,
146 username, 146 username,
163 trys_left, 163 trys_left,
164 retry_wait, 164 retry_wait,
165 username, 165 username,
166 send_email, 166 send_email,
167 data 167 data
168 FROM waterway.imports 168 FROM import.imports
169 WHERE 169 WHERE
170 due <= CURRENT_TIMESTAMP + interval '5 seconds' AND 170 due <= CURRENT_TIMESTAMP + interval '5 seconds' AND
171 state = 'queued'::waterway.import_state AND enqueued IN ( 171 state = 'queued'::import_state AND enqueued IN (
172 SELECT min(enqueued) 172 SELECT min(enqueued)
173 FROM waterway.imports 173 FROM import.imports
174 WHERE state = 'queued'::waterway.import_state AND 174 WHERE state = 'queued'::import_state AND
175 kind = ANY($1)) 175 kind = ANY($1))
176 LIMIT 1` 176 LIMIT 1`
177 177
178 updateStateSQL = ` 178 updateStateSQL = `
179 UPDATE waterway.imports SET state = $1::waterway.import_state 179 UPDATE import.imports SET state = $1::import_state
180 WHERE id = $2` 180 WHERE id = $2`
181 181
182 updateStateSummarySQL = ` 182 updateStateSummarySQL = `
183 UPDATE waterway.imports SET 183 UPDATE import.imports SET
184 state = $1::waterway.import_state, 184 state = $1::import_state,
185 summary = $2 185 summary = $2
186 WHERE id = $3` 186 WHERE id = $3`
187 187
188 logMessageSQL = ` 188 logMessageSQL = `
189 INSERT INTO waterway.import_logs ( 189 INSERT INTO import.import_logs (
190 import_id, 190 import_id,
191 kind, 191 kind,
192 msg 192 msg
193 ) VALUES ( 193 ) VALUES (
194 $1, 194 $1,
195 $2::waterway.log_type, 195 $2::log_type,
196 $3 196 $3
197 )` 197 )`
198 ) 198 )
199 199
200 func init() { 200 func init() {