Releases: fetchq/pg-extension
Foza
lusiana
This is a major release because the reschedule and document pick have changed their behavior.
Document pick "sees" a document that is scheduled exactly on "now()".
Rescheduling a document in the past sets its status to pending, so that document is available for picking without the need for a maintenance loop.
That should be a crazy performance improvement!
doc_reschedule()
is able to setstatus=1
when a document is rescheduled in the past (or present)doc_pick()
picks documents that are scheduled atNOW()
conco
This release mostly fixes an issue with the metrics_writes
table that can go out of the INTEGER limit when performing on a lot of manned queues. We removed the INTEGER primary key in favor of a UUID key. We also improved the logging methods so as to ignore Zero changes and therefore skipping logs that would not affect the counters, effectively reducing the work that the metrics task has to do.
- Uses
uuid
data type infetchq.metrics_writes
to prevent
running out of integer IDs over time.
(#38) - Reduces
metric_writes
by ignoring increments of Zero value - Add new methods:
fetchq.doc_push('queue', 'subject')
fetchq.doc_push('queue', 'subject', '{"payload": true}')
fetchq.doc_push('queue', 'subject', '{"payload": true}', NOW() + INTERVAL '5m')
fetchq.doc_append('queue', '{"payload": true}')
canove
- Adds
fetchq.queue_truncate('queue_name')
to drop current documents in a queue - Adds
fetchq.queue_truncate('queue_name', true)
to completely void a queue - Adds
fetchq.queue_truncate_all()
to drop all the documents in the existing queues - Adds
fetchq.queue_truncate_all(true)
to remove all data from the system - Improves test environment
asiago
padova
verona
- Adds
fetchq_queue_create_indexes(qname)
signature that generate per-queue indexes
based on informations read from thesys_queues
table. - Adds
fetchq_trigger_notify_as_json()
that can be attached to any table to emit a full
JSON representation of the event (INSERT; UPDATE; DELETE). - Emits full JSON events for
fetchq_sys_queues
so that the client can subscribe to it and
honor the queue status.