Page MenuHomePhabricator

Write high-level SmashPig DonationQueue
Closed, ResolvedPublic2 Estimated Story Points

Description

This is the main new abstraction, the one that will be used by all DonationInterface and CRM code to queue and dequeue.

So far, I'm thinking something like:
DonationQueue::dequeueLoop($queue, $callback)
The loop includes a transaction around each AtomicReadBuffer::popAtomic, and $callback takes single records as its argument.

DonationQueue::push($queue, $message)

Can we get away without single-record pop?

Must have tests.

Event Timeline

awight updated the task description. (Show Details)
awight changed the point value for this task from 2 to 3.
awight removed awight as the assignee of this task.May 4 2016, 9:53 PM
Ejegg changed the point value for this task from 3 to 2.

Change 286718 had a related patch set uploaded (by Ejegg):
QueueConsumer for AtomicReadBuffers

https://gerrit.wikimedia.org/r/286718

Change 287288 had a related patch set uploaded (by Ejegg):
Damaged message queue for QueueConsumer

https://gerrit.wikimedia.org/r/287288

Change 286718 had a related patch set uploaded (by Ejegg):
QueueConsumer for AtomicReadBuffers

https://gerrit.wikimedia.org/r/286718

Change 287044 had a related patch set uploaded (by Ejegg):
Job runner for generic queues

https://gerrit.wikimedia.org/r/287044

Change 286718 merged by jenkins-bot:
QueueConsumer for AtomicReadBuffers

https://gerrit.wikimedia.org/r/286718

Change 287288 merged by jenkins-bot:
Damaged message queue for QueueConsumer

https://gerrit.wikimedia.org/r/287288

Change 287044 merged by jenkins-bot:
Job runner for generic queues

https://gerrit.wikimedia.org/r/287044

Change 288449 had a related patch set uploaded (by Ejegg):
Ensure numeric time and message limits

https://gerrit.wikimedia.org/r/288449

Change 288449 merged by jenkins-bot:
Fix time and message limits

https://gerrit.wikimedia.org/r/288449