mirror of https://github.com/perkeep/perkeep.git
TODO: new plan to kill QueueCreator
Change-Id: I098307063f7645889a39dedafc4d3f862a3f798c
This commit is contained in:
parent
531b4dc32b
commit
27b19787e0
27
TODO
27
TODO
|
@ -35,12 +35,27 @@ Offline list:
|
||||||
where the lifetime of the background daemon will be the same as the
|
where the lifetime of the background daemon will be the same as the
|
||||||
user's login session.
|
user's login session.
|
||||||
|
|
||||||
-- support syncing from a storage type that doesn't support
|
-- Get rid of QueueCreator entirely. Plan:
|
||||||
QueueCreator by using local disk instead. writes go to both 1) that
|
-- sync handler still has a source and dest (one pair) but
|
||||||
storage target not supporting QueueCreator and 2) local disk before
|
instead of calling CreateQueue on the source, it instead
|
||||||
being acknowledged. Then sync goes from local disk to wherever,
|
has an index.Storage (configured via a RequiredObject
|
||||||
deleting from local disk when done as normal (except in that case,
|
so it can be a kvfile, leveldb, mysql, postgres etc)
|
||||||
the hardlink refcount would drop from 1 to 0, not 2 to 1)
|
-- make all the index.Storage types be instantiable
|
||||||
|
from a jsonconfig Object, perhaps with constructors keyed
|
||||||
|
on a "type" field.
|
||||||
|
-- make sync handler support blobserver.Receiver (or StatReceiver)
|
||||||
|
like indexes, so it can receive blobs. but all it needs to
|
||||||
|
do to acknowledge the ReceiveBlob is write and flush to its
|
||||||
|
index.Storage. the syncing is async by default. (otherwise callers
|
||||||
|
could just use "replica" if they wanted sync replication).
|
||||||
|
But maybe for ease of configuration switching, we could also
|
||||||
|
support a sync mode. when it needs to replicate a blob,
|
||||||
|
it uses the source.
|
||||||
|
-- future option: sync mirror to an alternate path on ReceiveBlob
|
||||||
|
that can delete. e.g. you're uploading to s3 and google,
|
||||||
|
but don't want to upload to both at once, so you use the localdisk
|
||||||
|
as a buffer to spread out your upstream bandwidth.
|
||||||
|
-- end result: no more hardlinks or queue creator.
|
||||||
|
|
||||||
-- website: remove the "Installation" heading for /cmd/*, since
|
-- website: remove the "Installation" heading for /cmd/*, since
|
||||||
they're misleading and people should use "go run make.go" in the
|
they're misleading and people should use "go run make.go" in the
|
||||||
|
|
Loading…
Reference in New Issue