Commit Graph

165 Commits

Author SHA1 Message Date
Yuxiang Zhang 79e6167028 fix race condition on logFile of baseProvider 2018-05-30 01:46:16 +08:00
bigeagle a475b044c6 feat(worker): add 'use_ipv4' option for rsync provider 2017-09-08 00:15:48 +08:00
bigeagle a50a360a91 Revert "feat(worker): add '-4' option to rsync when 'use_ipv6' is false"
This reverts commit d536aca2ac.
2017-09-08 00:12:40 +08:00
bigeagle d536aca2ac feat(worker): add '-4' option to rsync when 'use_ipv6' is false 2017-09-06 23:22:55 +08:00
7IN0SAN9 563860d424
fix #63 2017-03-27 13:09:56 +08:00
bigeagle 939abaef9b
feat(worker): TUNASYNC_LOG_DIR environment variable 2016-12-18 20:41:26 +08:00
bigeagle d5a438462f
feat(worker): map current uid and gid to docker 2016-12-18 14:28:48 +08:00
bigeagle d4e07a7b29
fix(worker): keep the same working dir inside and outside of docker 2016-12-18 14:28:32 +08:00
bigeagle fd277388d5
fix(worker): fixed multi-manager configuration
the worker must be registerred on the manager

`extra_status_manager` option is replaced by `api_base_list`, which overrides the `api_base` option
2016-12-12 23:17:50 +08:00
bigeagle 7601e5793f
fix(worker): improved cgroup creation 2016-12-10 04:14:39 +08:00
bigeagle 9645fd44ec ci(travis): Enabled docker on travis 2016-12-10 03:48:03 +08:00
bigeagle ebd462be36
feat(worker): Implemented docker executor, close #55
if docker is enabled in configure file and `docker_image` is set on mirror config, the command would

be executed via `docker run ...`
2016-12-10 02:44:45 +08:00
bigeagle 21c832c8fb fix(worker): disabled memory limit
rsync memory is nolonger limited
2016-12-09 23:07:05 +08:00
bigeagle a0b8ef08ab feat(worker): implemented `extra_status_manager` option to enable a worker reporting status to multi 2016-12-06 23:59:15 +08:00
bigeagle 86153c59e3
feat(worker): ZFS support: isolate mirrors in zfs datasets 2016-12-05 00:44:55 +08:00
bigeagle 96f9db8bb8
fix(worker): extended rsync memory limit to 512MB 2016-12-04 22:56:48 +08:00
bigeagle add7b936e3 refactor(cmd): pinning cli.v1 2016-11-20 00:01:47 +08:00
bigeagle 2b83ea4b45 feat(worker): added global `exec_on_success` and `exec_on_failure` options
if `exec_on_success` is set on mirror-level config, it overrides the global option; if on mirror

level, extra hook cmd is needed, use `exec_on_success_extra` option
2016-10-21 01:20:31 +08:00
bigeagle 437acd3f01
fix(worker): cgroup hook now ensure child progresses are killed 2016-08-02 21:55:41 +08:00
bigeagle c8af09f129
fix(worker): fix log file leakage of two-stage-sync provider. closing #36 2016-08-02 21:39:16 +08:00
bigeagle d292f9b0e3
feat(tunasync): add `tunasynctl reload` subcommand 2016-06-15 14:01:10 +08:00
bigeagle 613d46e4e3
fix(worker): fix resource leakage caused by time.Tick(), closing #33 2016-06-15 00:31:53 +08:00
bigeagle ebeee6bc34
feat(worker): added username option for rsync providers 2016-06-14 21:37:03 +08:00
bigeagle f6d53c16d6 fix(worker): do not init cgroup if it's not enabled 2016-05-19 11:42:22 +08:00
bigeagle 28c8145137
feature(worker): limit rsync memory using cgroup 2016-05-08 17:24:41 +08:00
bigeagle ccc31d9289
refactor(worker): added Type() method to provider 2016-05-08 16:26:58 +08:00
bigeagle 5c8d90608c
feature(worker): implemented multi-file configrations. closing #23 2016-05-03 16:52:38 +08:00
bigeagle 5b5f020075
style(worker): put exported methods together 2016-05-02 22:19:02 +08:00
bigeagle 76ad3d40d6
feature(worker): when SIGINT/SIGTERM received, stop all the jobs and update their status before quit. Close #19. 2016-05-02 22:16:49 +08:00
bigeagle 65984053eb
fix(worker): fixed scheduling bugs 2016-05-02 18:56:45 +08:00
bigeagle 51fa12900d
feature(worker): ability to hot reload mirror job configrations, close #18 2016-05-02 17:45:21 +08:00
bigeagle fecfc8f3b1
fix(worker): log file link should use relative path 2016-05-02 13:38:25 +08:00
bigeagle 56459f2ce0
feature(worker): implemented mirror role (master/slave) option 2016-04-30 16:44:39 +08:00
bigeagle 8399417880
feature(worker): fix exec_post_hook_test, manager channel was blocked in the previous version 2016-04-30 16:44:35 +08:00
bigeagle bd423eec4e
feature(worker): added exec_on_success and exec_on_failure option and hooks 2016-04-30 16:44:15 +08:00
bigeagle f8fd1ae460
style: better logging 2016-04-30 16:43:47 +08:00
bigeagle 924fda6dd8
feature(worker): use cgroup track job process, so that they can be all-killed 2016-04-30 16:43:30 +08:00
bigeagle 41e1f263a5
refactor(worker): use atomic state to simplify job control 2016-04-30 16:43:24 +08:00
bigeagle 2268eb3b0f
fix(tunasync): connection leakage caused by http keep-alive 2016-04-30 16:43:17 +08:00
bigeagle 292a24ba20
fix(worker): fixed job status and control logic 2016-04-30 16:42:51 +08:00
bigeagle 9fbb8ab155
refactor(tunasync):
1. refactored manager and worker to support TLS transport
2. if mirror_dir is specified from a mirror config, don't add the mirror name
2016-04-30 16:42:15 +08:00
bigeagle f8151e689f
refactor(worker): export worker's LoadConfig 2016-04-30 16:41:51 +08:00
bigeagle 0dcd89da31
refactor(manager): refactored structure names in manager 2016-04-30 16:41:44 +08:00
bigeagle ce3471e30d
feature(worker): implemented Worker object, worker side code is almost done 2016-04-30 16:41:39 +08:00
bigeagle 6062aa4b9d
refactor(worker): rename provider.setLogFile to provider.prepareLogFile 2016-04-30 16:40:45 +08:00
bigeagle 9afd47ddcb
feature(worker): LogLimiter hook 2016-04-30 16:40:40 +08:00
bigeagle 23c3125cbf
tests(worker): added test for initProfile 2016-04-30 16:40:34 +08:00
bigeagle 8b56fda1e9
feature(worker): added worker http server config 2016-04-30 16:40:27 +08:00
bigeagle 731fba842f
feature(worker): job need to be started by jobStart signal 2016-04-30 16:40:16 +08:00
bigeagle 13161d77cf
feature(worker): two-stage-rsync provider 2016-04-30 16:40:12 +08:00
bigeagle 9339fba074
refactor(worker): use Run instead of Start and Wait 2016-04-30 16:40:05 +08:00
bigeagle a6e8e9e2d9
feature(worker): implemented rsync provider 2016-04-30 16:39:59 +08:00
bigeagle f336fda736
feature(worker): mirrorConfig -> mirrorProvider 2016-04-30 16:39:53 +08:00
bigeagle d8b45d7231
feature(worker): worker config file 2016-04-30 16:39:47 +08:00
bigeagle b077db1d0b
feature(worker): job schedule 2016-04-30 16:39:42 +08:00
bigeagle f31bcfbcc3
feature(API): error message in manager channel 2016-04-30 16:39:35 +08:00
bigeagle 26b7ef9a9c
refactor(worker): use write blocking for semaphore 2016-04-30 16:39:26 +08:00
bigeagle 6b05a5894e
feature(worker): runMirrorJob no longer controls the interval 2016-04-30 16:39:19 +08:00
bigeagle 681388ffdd
feature(worker): toplevel mirror job logic 2016-04-30 16:39:08 +08:00
bigeagle 0e808a449a
refactor(worker): change provider's Run method to Start, and change logfile handling 2016-04-30 16:38:57 +08:00
bigeagle 276ab233c5
feature(worker): move command execution logic to a runner object 2016-04-30 16:38:44 +08:00
bigeagle 16ead05160
tests(worker): command provider's test 2016-04-30 16:38:38 +08:00
bigeagle 6948db1757
feature(worker): cmd_provider, first part, no test, fix me 2016-04-30 16:38:24 +08:00
bigeagle 44af0d5e62
feature(worker): framework of mirror provider 2016-04-30 16:38:17 +08:00
bigeagle f95a0f9a6f
feature(worker): context object to store runtime configurations 2016-04-30 16:38:10 +08:00