git-annex/Assistant/Threads
Joey Hess d71c65ca0a
add exporter thread to assistant
This is similar to the pusher thread, but a separate thread because git
pushes can be done in parallel with exports, and updating a big export
should not prevent other git pushes going out in the meantime.

The exportThread only runs at most every 30 seconds, since updating an
export is more expensive than pushing. This may need to be tuned.

Added a separate channel for export commits; the committer records a
commit in that channel.

Also, reconnectRemotes records a dummy commit, to make the exporter
thread wake up and make sure all exports are up-to-date. So,
connecting a drive with a directory special remote export will
immediately update it, and getting online will automatically
update S3 and WebDAV exports.

The transfer queue is not involved in exports. Instead, failed
exports are retried much like failed pushes.

This commit was sponsored by Ewen McNeill.
2017-09-20 15:29:13 -04:00
..
Committer.hs add exporter thread to assistant 2017-09-20 15:29:13 -04:00
ConfigMonitor.hs improve data type 2016-01-01 15:56:24 -04:00
Cronner.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
DaemonStatus.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Exporter.hs add exporter thread to assistant 2017-09-20 15:29:13 -04:00
Glacier.hs first pass at assistant knowing about export remotes 2017-09-20 13:58:27 -04:00
Merger.hs assistant: Merge changes from refs/remotes/foo/master into master. 2017-06-07 16:17:46 -04:00
MountWatcher.hs remove xmpp support 2016-11-14 14:53:08 -04:00
NetWatcher.hs remove xmpp support 2016-11-14 14:53:08 -04:00
PairListener.hs include problem PairData in error message 2017-02-13 15:54:28 -04:00
ProblemFixer.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Pusher.hs add exporter thread to assistant 2017-09-20 15:29:13 -04:00
RemoteControl.hs remotedaemon: Fork to background by default. Added --foreground switch to enable old behavior. 2016-11-20 14:50:36 -04:00
SanityChecker.hs rename prompt since Messages added a function by that name 2017-05-15 21:35:56 -04:00
TransferPoller.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Transferrer.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
TransferScanner.hs add exporter thread to assistant 2017-09-20 15:29:13 -04:00
TransferWatcher.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
Upgrader.hs use more general module 2016-04-21 14:32:42 -04:00
UpgradeWatcher.hs make programPath return FilePath not Maybe FilePath 2015-02-28 16:59:52 -04:00
Watcher.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
WebApp.hs webapp: full wormhole pairing UI (untested) 2016-12-27 16:41:35 -04:00