Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 65be003

Browse files
committed
Add semaphore to pushing
Can't have too many rsyncs flying around.
1 parent 423278b commit 65be003

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

internal/sync/sync.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/gorilla/websocket"
1717
"github.com/rjeczalik/notify"
1818
"go.coder.com/flog"
19+
"golang.org/x/sync/semaphore"
1920
"golang.org/x/xerrors"
2021

2122
"cdr.dev/coder-cli/internal/entclient"
@@ -192,13 +193,17 @@ func (s Sync) workEventGroup(evs []timedEvent) {
192193
s.work(ev)
193194
}
194195

196+
sem := semaphore.NewWeighted(8)
197+
195198
var wg sync.WaitGroup
196199
for _, ev := range cache.ConcurrentEvents() {
197200
setConsoleTitle(fmtUpdateTitle(ev.Path()))
198201

199202
wg.Add(1)
203+
sem.Acquire(context.Background(), 1)
200204
ev := ev
201205
go func() {
206+
defer sem.Release(1)
202207
defer wg.Done()
203208
s.work(ev)
204209
}()

0 commit comments

Comments
 (0)