What where you still doing there?
This commit is contained in:
parent
b39415e695
commit
1a97c35e22
1 changed files with 0 additions and 21 deletions
|
@ -1,21 +0,0 @@
|
||||||
package outgoingeventqueue
|
|
||||||
|
|
||||||
// TODO: Implement me
|
|
||||||
|
|
||||||
/*
|
|
||||||
Queue for controlled distribution of outgoing events, such as note creations, deletions or updates
|
|
||||||
Also has to manage the case where an instance can't be reached or where Linstrom has to shut down
|
|
||||||
In case of a shutdown, it has to store all remaining tasks in the db to try again later after the next boot
|
|
||||||
Should preferably also be able to tell when a server is just gone and stop bothering about it
|
|
||||||
|
|
||||||
|
|
||||||
Implementation idea: New job gets send to queue (via function call). Queue then launches a new goroutine for that job
|
|
||||||
Goroutine then launches multiple new goroutines, one per targeted inbox, filtered by blocked targets
|
|
||||||
Each of those will wait for a ticker or a stop signal
|
|
||||||
On each ticker they'll try to deliver the payload to the target inbox
|
|
||||||
If a stop signal comes in, push the payload and goal into the db to pick up again later
|
|
||||||
On stop or sucessful delivery, exit the goroutine
|
|
||||||
Stop can also be used to suspend outbound traffic to another instance to help reduce the load on them
|
|
||||||
|
|
||||||
TODO: Think of ways to make this more configurable for how data is being sent how fast
|
|
||||||
*/
|
|
Loading…
Reference in a new issue