Open benoitc opened 11 years ago
Queue backend can be pluggable as well imo. With a default to ETS saved from time to time to the disk. Thoughts?
It would be interesting to have a backend for queues or lists. And yes starting with an ETS or DETS ;)
Changes queues are the core of blobs synchronisations and can be used by indexers or other agents, They can are created on the source and are semi persistent.
Key mechanism is the following:
POST
to/<storage>/_queue
. An id is returned allowing the listener to watch changes on it.PUT
to/storage/_queue/<name>
. If the queue exists, a conflicts is returned (409) .NOP
is sent to the listenerACK
is sent to the queueACK
is received on the queue, blobs received are deleted from the queueNOP
operation is received on the queue, nothing is done.NOP
operations are used to maintain the connection alive