@pgpm/jobs 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/LICENSE +22 -0
  2. package/Makefile +6 -0
  3. package/README.md +5 -0
  4. package/__tests__/__snapshots__/jobs.test.ts.snap +16 -0
  5. package/__tests__/jobs.test.ts +139 -0
  6. package/deploy/schemas/app_jobs/helpers/json_build_object_apply.sql +28 -0
  7. package/deploy/schemas/app_jobs/procedures/add_job.sql +65 -0
  8. package/deploy/schemas/app_jobs/procedures/add_scheduled_job.sql +66 -0
  9. package/deploy/schemas/app_jobs/procedures/complete_job.sql +32 -0
  10. package/deploy/schemas/app_jobs/procedures/complete_jobs.sql +19 -0
  11. package/deploy/schemas/app_jobs/procedures/do_notify.sql +16 -0
  12. package/deploy/schemas/app_jobs/procedures/fail_job.sql +41 -0
  13. package/deploy/schemas/app_jobs/procedures/get_job.sql +77 -0
  14. package/deploy/schemas/app_jobs/procedures/get_scheduled_job.sql +46 -0
  15. package/deploy/schemas/app_jobs/procedures/permanently_fail_jobs.sql +24 -0
  16. package/deploy/schemas/app_jobs/procedures/release_jobs.sql +34 -0
  17. package/deploy/schemas/app_jobs/procedures/release_scheduled_jobs.sql +26 -0
  18. package/deploy/schemas/app_jobs/procedures/reschedule_jobs.sql +26 -0
  19. package/deploy/schemas/app_jobs/procedures/run_scheduled_job.sql +67 -0
  20. package/deploy/schemas/app_jobs/schema.sql +7 -0
  21. package/deploy/schemas/app_jobs/tables/job_queues/grants/grant_select_insert_update_delete_to_administrator.sql +12 -0
  22. package/deploy/schemas/app_jobs/tables/job_queues/indexes/job_queues_locked_by_idx.sql +8 -0
  23. package/deploy/schemas/app_jobs/tables/job_queues/table.sql +12 -0
  24. package/deploy/schemas/app_jobs/tables/jobs/grants/grant_select_insert_update_delete_to_administrator.sql +12 -0
  25. package/deploy/schemas/app_jobs/tables/jobs/indexes/jobs_locked_by_idx.sql +8 -0
  26. package/deploy/schemas/app_jobs/tables/jobs/indexes/priority_run_at_id_idx.sql +8 -0
  27. package/deploy/schemas/app_jobs/tables/jobs/table.sql +26 -0
  28. package/deploy/schemas/app_jobs/tables/jobs/triggers/decrease_job_queue_count.sql +42 -0
  29. package/deploy/schemas/app_jobs/tables/jobs/triggers/increase_job_queue_count.sql +32 -0
  30. package/deploy/schemas/app_jobs/tables/jobs/triggers/notify_worker.sql +13 -0
  31. package/deploy/schemas/app_jobs/tables/jobs/triggers/timestamps.sql +20 -0
  32. package/deploy/schemas/app_jobs/tables/scheduled_jobs/grants/grant_select_insert_update_delete_to_administrator.sql +12 -0
  33. package/deploy/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_locked_by_idx.sql +8 -0
  34. package/deploy/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_priority_id_idx.sql +8 -0
  35. package/deploy/schemas/app_jobs/tables/scheduled_jobs/table.sql +26 -0
  36. package/deploy/schemas/app_jobs/tables/scheduled_jobs/triggers/notify_scheduled_job.sql +12 -0
  37. package/deploy/schemas/app_jobs/triggers/tg_add_job_with_fields.sql +50 -0
  38. package/deploy/schemas/app_jobs/triggers/tg_add_job_with_row.sql +26 -0
  39. package/deploy/schemas/app_jobs/triggers/tg_add_job_with_row_id.sql +26 -0
  40. package/deploy/schemas/app_jobs/triggers/tg_update_timestamps.sql +21 -0
  41. package/jest.config.js +15 -0
  42. package/launchql-jobs.control +8 -0
  43. package/launchql.plan +38 -0
  44. package/package.json +29 -0
  45. package/revert/schemas/app_jobs/helpers/json_build_object_apply.sql +7 -0
  46. package/revert/schemas/app_jobs/procedures/add_job.sql +7 -0
  47. package/revert/schemas/app_jobs/procedures/add_scheduled_job.sql +7 -0
  48. package/revert/schemas/app_jobs/procedures/complete_job.sql +7 -0
  49. package/revert/schemas/app_jobs/procedures/complete_jobs.sql +7 -0
  50. package/revert/schemas/app_jobs/procedures/do_notify.sql +7 -0
  51. package/revert/schemas/app_jobs/procedures/fail_job.sql +7 -0
  52. package/revert/schemas/app_jobs/procedures/get_job.sql +7 -0
  53. package/revert/schemas/app_jobs/procedures/get_scheduled_job.sql +7 -0
  54. package/revert/schemas/app_jobs/procedures/permanently_fail_jobs.sql +7 -0
  55. package/revert/schemas/app_jobs/procedures/release_jobs.sql +7 -0
  56. package/revert/schemas/app_jobs/procedures/release_scheduled_jobs.sql +7 -0
  57. package/revert/schemas/app_jobs/procedures/reschedule_jobs.sql +7 -0
  58. package/revert/schemas/app_jobs/procedures/run_scheduled_job.sql +7 -0
  59. package/revert/schemas/app_jobs/schema.sql +7 -0
  60. package/revert/schemas/app_jobs/tables/job_queues/grants/grant_select_insert_update_delete_to_administrator.sql +7 -0
  61. package/revert/schemas/app_jobs/tables/job_queues/indexes/job_queues_locked_by_idx.sql +7 -0
  62. package/revert/schemas/app_jobs/tables/job_queues/table.sql +7 -0
  63. package/revert/schemas/app_jobs/tables/jobs/grants/grant_select_insert_update_delete_to_administrator.sql +7 -0
  64. package/revert/schemas/app_jobs/tables/jobs/indexes/jobs_locked_by_idx.sql +7 -0
  65. package/revert/schemas/app_jobs/tables/jobs/indexes/priority_run_at_id_idx.sql +7 -0
  66. package/revert/schemas/app_jobs/tables/jobs/table.sql +7 -0
  67. package/revert/schemas/app_jobs/tables/jobs/triggers/decrease_job_queue_count.sql +7 -0
  68. package/revert/schemas/app_jobs/tables/jobs/triggers/increase_job_queue_count.sql +7 -0
  69. package/revert/schemas/app_jobs/tables/jobs/triggers/notify_worker.sql +5 -0
  70. package/revert/schemas/app_jobs/tables/jobs/triggers/timestamps.sql +9 -0
  71. package/revert/schemas/app_jobs/tables/scheduled_jobs/grants/grant_select_insert_update_delete_to_administrator.sql +7 -0
  72. package/revert/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_locked_by_idx.sql +7 -0
  73. package/revert/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_priority_id_idx.sql +7 -0
  74. package/revert/schemas/app_jobs/tables/scheduled_jobs/table.sql +7 -0
  75. package/revert/schemas/app_jobs/tables/scheduled_jobs/triggers/notify_scheduled_job.sql +8 -0
  76. package/revert/schemas/app_jobs/triggers/tg_add_job_with_fields.sql +7 -0
  77. package/revert/schemas/app_jobs/triggers/tg_add_job_with_row.sql +7 -0
  78. package/revert/schemas/app_jobs/triggers/tg_add_job_with_row_id.sql +5 -0
  79. package/revert/schemas/app_jobs/triggers/tg_update_timestamps.sql +7 -0
  80. package/sql/launchql-jobs--0.4.6.sql +658 -0
  81. package/verify/schemas/app_jobs/helpers/json_build_object_apply.sql +7 -0
  82. package/verify/schemas/app_jobs/procedures/add_job.sql +7 -0
  83. package/verify/schemas/app_jobs/procedures/add_scheduled_job.sql +7 -0
  84. package/verify/schemas/app_jobs/procedures/complete_job.sql +7 -0
  85. package/verify/schemas/app_jobs/procedures/complete_jobs.sql +7 -0
  86. package/verify/schemas/app_jobs/procedures/do_notify.sql +7 -0
  87. package/verify/schemas/app_jobs/procedures/fail_job.sql +7 -0
  88. package/verify/schemas/app_jobs/procedures/get_job.sql +7 -0
  89. package/verify/schemas/app_jobs/procedures/get_scheduled_job.sql +7 -0
  90. package/verify/schemas/app_jobs/procedures/permanently_fail_jobs.sql +7 -0
  91. package/verify/schemas/app_jobs/procedures/release_jobs.sql +7 -0
  92. package/verify/schemas/app_jobs/procedures/release_scheduled_jobs.sql +7 -0
  93. package/verify/schemas/app_jobs/procedures/reschedule_jobs.sql +7 -0
  94. package/verify/schemas/app_jobs/procedures/run_scheduled_job.sql +7 -0
  95. package/verify/schemas/app_jobs/schema.sql +7 -0
  96. package/verify/schemas/app_jobs/tables/job_queues/grants/grant_select_insert_update_delete_to_administrator.sql +10 -0
  97. package/verify/schemas/app_jobs/tables/job_queues/indexes/job_queues_locked_by_idx.sql +7 -0
  98. package/verify/schemas/app_jobs/tables/job_queues/table.sql +7 -0
  99. package/verify/schemas/app_jobs/tables/jobs/grants/grant_select_insert_update_delete_to_administrator.sql +10 -0
  100. package/verify/schemas/app_jobs/tables/jobs/indexes/jobs_locked_by_idx.sql +7 -0
  101. package/verify/schemas/app_jobs/tables/jobs/indexes/priority_run_at_id_idx.sql +7 -0
  102. package/verify/schemas/app_jobs/tables/jobs/table.sql +7 -0
  103. package/verify/schemas/app_jobs/tables/jobs/triggers/decrease_job_queue_count.sql +10 -0
  104. package/verify/schemas/app_jobs/tables/jobs/triggers/increase_job_queue_count.sql +10 -0
  105. package/verify/schemas/app_jobs/tables/jobs/triggers/notify_worker.sql +6 -0
  106. package/verify/schemas/app_jobs/tables/jobs/triggers/timestamps.sql +16 -0
  107. package/verify/schemas/app_jobs/tables/scheduled_jobs/grants/grant_select_insert_update_delete_to_administrator.sql +10 -0
  108. package/verify/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_locked_by_idx.sql +7 -0
  109. package/verify/schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_priority_id_idx.sql +7 -0
  110. package/verify/schemas/app_jobs/tables/scheduled_jobs/table.sql +7 -0
  111. package/verify/schemas/app_jobs/tables/scheduled_jobs/triggers/notify_scheduled_job.sql +8 -0
  112. package/verify/schemas/app_jobs/triggers/tg_add_job_with_fields.sql +7 -0
  113. package/verify/schemas/app_jobs/triggers/tg_add_job_with_row.sql +7 -0
  114. package/verify/schemas/app_jobs/triggers/tg_add_job_with_row_id.sql +6 -0
  115. package/verify/schemas/app_jobs/triggers/tg_update_timestamps.sql +7 -0
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/complete_jobs from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.complete_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/do_notify from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.do_notify;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/fail_job from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.fail_job;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/get_job from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.get_job;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/get_scheduled_job from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.get_scheduled_job;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/permanently_fail_jobs from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.permanently_fail_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/release_jobs from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.release_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/release_scheduled_jobs from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.release_scheduled_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/reschedule_jobs from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.reschedule_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/procedures/run_scheduled_job from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.run_scheduled_job;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/schema from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP SCHEMA app_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/job_queues/grants/grant_select_insert_update_delete_to_administrator from pg
2
+
3
+ BEGIN;
4
+
5
+ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE app_jobs.job_queues FROM administrator;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/job_queues/indexes/job_queues_locked_by_idx from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP INDEX app_jobs.job_queues_locked_by_idx;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/job_queues/table from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP TABLE app_jobs.job_queues;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/grants/grant_select_insert_update_delete_to_administrator from pg
2
+
3
+ BEGIN;
4
+
5
+ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE app_jobs.jobs FROM administrator;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/indexes/jobs_locked_by_idx from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP INDEX app_jobs.jobs_locked_by_idx;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/indexes/priority_run_at_id_idx from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP INDEX app_jobs.priority_run_at_id_idx;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/table from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP TABLE app_jobs.jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/triggers/decrease_job_queue_count from pg
2
+ BEGIN;
3
+ DROP TRIGGER decrease_job_queue_count_on_delete ON app_jobs.jobs;
4
+ DROP TRIGGER decrease_job_queue_count_on_update ON app_jobs.jobs;
5
+ DROP FUNCTION app_jobs.tg_decrease_job_queue_count;
6
+ COMMIT;
7
+
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/triggers/increase_job_queue_count from pg
2
+ BEGIN;
3
+ DROP TRIGGER _500_increase_job_queue_count_on_insert ON app_jobs.jobs;
4
+ DROP TRIGGER _500_increase_job_queue_count_on_update ON app_jobs.jobs;
5
+ DROP FUNCTION app_jobs.tg_increase_job_queue_count;
6
+ COMMIT;
7
+
@@ -0,0 +1,5 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/triggers/notify_worker from pg
2
+ BEGIN;
3
+ DROP TRIGGER _900_notify_worker ON app_jobs.jobs;
4
+ COMMIT;
5
+
@@ -0,0 +1,9 @@
1
+ -- Revert schemas/app_jobs/tables/jobs/triggers/timestamps from pg
2
+ BEGIN;
3
+ ALTER TABLE app_jobs.jobs
4
+ DROP COLUMN created_at;
5
+ ALTER TABLE app_jobs.jobs
6
+ DROP COLUMN updated_at;
7
+ DROP TRIGGER _100_update_jobs_modtime_tg ON app_jobs.jobs;
8
+ COMMIT;
9
+
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/scheduled_jobs/grants/grant_select_insert_update_delete_to_administrator from pg
2
+
3
+ BEGIN;
4
+
5
+ REVOKE SELECT, INSERT, UPDATE, DELETE ON TABLE app_jobs.scheduled_jobs FROM administrator;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_locked_by_idx from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP INDEX app_jobs.scheduled_jobs_locked_by_idx;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/scheduled_jobs/indexes/scheduled_jobs_priority_id_idx from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP INDEX app_jobs.scheduled_jobs_priority_id_idx;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/tables/scheduled_jobs/table from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP TABLE app_jobs.scheduled_jobs;
6
+
7
+ COMMIT;
@@ -0,0 +1,8 @@
1
+ -- Revert schemas/app_jobs/tables/scheduled_jobs/triggers/notify_scheduled_job from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP TRIGGER _900_notify_scheduled_job ON app_jobs.scheduled_jobs;
6
+
7
+
8
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/triggers/tg_add_job_with_fields from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.trigger_job_with_fields;
6
+
7
+ COMMIT;
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/triggers/tg_add_job_with_row from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.tg_add_job_with_row;
6
+
7
+ COMMIT;
@@ -0,0 +1,5 @@
1
+ -- Revert schemas/app_jobs/triggers/tg_add_job_with_row_id from pg
2
+ BEGIN;
3
+ DROP FUNCTION app_jobs.tg_add_job_with_row_id;
4
+ COMMIT;
5
+
@@ -0,0 +1,7 @@
1
+ -- Revert schemas/app_jobs/triggers/tg_update_timestamps from pg
2
+
3
+ BEGIN;
4
+
5
+ DROP FUNCTION app_jobs.tg_update_timestamps;
6
+
7
+ COMMIT;