|
3 | 3 | CREATESCHEMAIF NOT EXISTS schedule;
|
4 | 4 | SET search_path TO schedule;
|
5 | 5 |
|
6 |
| -CREATETYPEjob_statusAS ENUM ('working','done','error'); |
| 6 | +CREATETYPEjob_status_tAS ENUM ('working','done','error'); |
| 7 | +CREATETYPEjob_at_status_tAS ENUM ('submitted','processing','done'); |
7 | 8 |
|
8 | 9 | CREATETABLEat_jobs_submitted(
|
9 | 10 | idSERIALPRIMARY KEY,
|
@@ -138,7 +139,7 @@ CREATE TYPE cron_job AS(
|
138 | 139 | onrollbacktext,-- statement on ROLLBACK
|
139 | 140 | next_time_statementtext,-- statement to calculate next start time
|
140 | 141 | max_instancesint,-- the number of instances run at the same time
|
141 |
| -statusjob_status,-- status of job |
| 142 | +statusjob_status_t,-- status of job |
142 | 143 | messagetext-- error message if one
|
143 | 144 | );
|
144 | 145 |
|
@@ -1272,12 +1273,75 @@ BEFORE DELETE ON cron
|
1272 | 1273 | CREATETRIGGERcron_update_trigger
|
1273 | 1274 | AFTERUPDATEON cron
|
1274 | 1275 | FOR EACH ROW EXECUTE PROCEDURE on_cron_update();
|
| 1276 | + |
| 1277 | +---------- |
| 1278 | +-- VIEW -- |
| 1279 | +---------- |
| 1280 | + |
| 1281 | +CREATEVIEWjob_statusAS |
| 1282 | +SELECT |
| 1283 | +id, node, name, comments, atas run_after, |
| 1284 | +do_sqlas query, params, depends_on, executoras run_as, attempt, |
| 1285 | +resubmit_limit, postponeas max_wait_interval, |
| 1286 | +max_run_timeas max_duration, submit_time, |
| 1287 | +start_time, statusas is_success, reasonas error, done_time, |
| 1288 | +'done'::job_at_status_t status |
| 1289 | +FROMschedule.at_jobs_donewhere owner=session_user |
| 1290 | +UNION |
| 1291 | +SELECT |
| 1292 | +id, node, name, comments, atas run_after, |
| 1293 | +do_sqlas query, params, depends_on, executoras run_as, attempt, |
| 1294 | +resubmit_limit, postponeas max_wait_interval, |
| 1295 | +max_run_timeas max_duration, submit_time, start_time, |
| 1296 | +NULLas is_success,NULLas error,NULLas done_time, |
| 1297 | +'processing'::job_at_status_t status |
| 1298 | +FROM ONLYschedule.at_jobs_processwhere owner=session_user |
| 1299 | +UNION |
| 1300 | +SELECT |
| 1301 | +id, node, name, comments, atas run_after, |
| 1302 | +do_sqlas query, params, depends_on, executoras run_as, attempt, |
| 1303 | +resubmit_limit, postponeas max_wait_interval, |
| 1304 | +max_run_timeas max_duration, submit_time, |
| 1305 | +NULLas start_time,NULLas is_success,NULLas error, |
| 1306 | +NULLas done_time, |
| 1307 | +'submitted'::job_at_status_t status |
| 1308 | +FROM ONLYschedule.at_jobs_submittedwhere owner=session_user; |
| 1309 | + |
| 1310 | +CREATEVIEWall_job_statusAS |
| 1311 | +SELECT |
| 1312 | +id, node, name, comments, atas run_after, |
| 1313 | +do_sqlas query, params, depends_on, executoras run_as, owner, |
| 1314 | +attempt, resubmit_limit, postponeas max_wait_interval, |
| 1315 | +max_run_timeas max_duration, submit_time, |
| 1316 | +start_time, statusas is_success, reasonas error, done_time, |
| 1317 | +'processing'::job_at_status_t status |
| 1318 | +FROMschedule.at_jobs_done |
| 1319 | +UNION |
| 1320 | +SELECT |
| 1321 | +id, node, name, comments, atas run_after, |
| 1322 | +do_sqlas query, params, depends_on, executoras run_as, owner, |
| 1323 | +attempt, resubmit_limit, postponeas max_wait_interval, |
| 1324 | +max_run_timeas max_duration, submit_time, start_time, |
| 1325 | +NULLas is_success,NULLas error,NULLas done_time, |
| 1326 | +'processing'::job_at_status_t status |
| 1327 | +FROM ONLYschedule.at_jobs_process |
| 1328 | +UNION |
| 1329 | +SELECT |
| 1330 | +id, node, name, comments, atas run_after, |
| 1331 | +do_sqlas query, params, depends_on, executoras run_as, owner, |
| 1332 | +attempt, resubmit_limit, postponeas max_wait_interval, |
| 1333 | +max_run_timeas max_duration, submit_time, |
| 1334 | +NULLas start_time,NULLas is_success,NULLas error, |
| 1335 | +NULLas done_time, |
| 1336 | +'submitted'::job_at_status_t status |
| 1337 | +FROM ONLYschedule.at_jobs_submitted; |
1275 | 1338 |
|
1276 | 1339 | -----------
|
1277 | 1340 | -- GRANT --
|
1278 | 1341 | -----------
|
1279 | 1342 |
|
1280 | 1343 | GRANT USAGEON SCHEMA schedule TO public;
|
| 1344 | +GRANTSELECTONschedule.job_status TO public; |
1281 | 1345 |
|
1282 | 1346 |
|
1283 | 1347 | RESET search_path;
|