Решение на Concurrent Retry Executor от Стоил Янчев

Обратно към всички решения

Към профила на Стоил Янчев

Резултати

  • 0 точки от тестове
  • 0 бонус точки
  • 0 точки общо
  • 0 успешни тест(а)
  • 9 неуспешни тест(а)

Код

package main
type ConcurrentRetryTask struct {
index int
result string
}
func ConcurrentRetryExecutor(tasks []func() string, concurrentLimit int, retryLimit int) <-chan ConcurrentRetryTask {
ch := make(chan ConcurrentRetryTask)
chTemp := make(chan struct{}, concurrentLimit)
for index := 0; index < concurrentLimit; index++ {
chTemp <- struct{}{}
}
//TODO: goroutine
return ch
}

Лог от изпълнението

panic: test timed out after 1s

goroutine 7 [running]:
panic(0x4ec1c0, 0xc420010610)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200720c0, 0x518ad2, 0x1b, 0x524158, 0xc42003bd30)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200720c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200720c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420072180, 0x2, 0xa, 0x5, 0x524150)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.TestLessTaskThanConcurrency(0xc420072180)
	/tmp/d20161115-21147-d784lw/solution_test.go:109 +0x52
testing.tRunner(0xc420072180, 0x524158)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.005s
panic: test timed out after 1s

goroutine 7 [running]:
panic(0x4ec1c0, 0xc4200105f0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x5177b4, 0x15, 0x5240f8, 0xc42003bd01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420070180, 0x400, 0x1, 0x5, 0x5240f0)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.TestBasic1Concurrency(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:118 +0x52
testing.tRunner(0xc420070180, 0x5240f8)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.005s
panic: test timed out after 1s

goroutine 7 [running]:
panic(0x4ec1c0, 0xc420010600)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x517ac3, 0x16, 0x5240e8, 0xc420035d01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc420035e20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc420035ee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420070180, 0x800, 0xa, 0x5, 0x5240e0)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.TestBasic10Concurrency(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:127 +0x52
testing.tRunner(0xc420070180, 0x5240e8)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.005s
panic: test timed out after 1s

goroutine 7 [running]:
panic(0x4ec1c0, 0xc420010610)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x51841a, 0x19, 0x524110, 0xc420035d01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc420035e20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc420035ee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420070180, 0x14, 0x1, 0x5, 0xc420040f08)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.testBasicFail(0xc420070180, 0x14, 0x1, 0x5)
	/tmp/d20161115-21147-d784lw/solution_test.go:164 +0xfb
_/tmp/d20161115-21147-d784lw.TestBasicFail1Concurrency(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:131 +0x46
testing.tRunner(0xc420070180, 0x524110)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.005s
panic: test timed out after 1s

goroutine 21 [running]:
panic(0x4ec1c0, 0xc42005e4f0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200820c0, 0x5187a3, 0x1a, 0x524108, 0xc42003bd01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200820c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200820c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc42005e3e0)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 20 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420082180, 0x14, 0xa, 0x5, 0xc42003cf08)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.testBasicFail(0xc420082180, 0x14, 0xa, 0x5)
	/tmp/d20161115-21147-d784lw/solution_test.go:164 +0xfb
_/tmp/d20161115-21147-d784lw.TestBasicFail10Concurrency(0xc420082180)
	/tmp/d20161115-21147-d784lw/solution_test.go:135 +0x46
testing.tRunner(0xc420082180, 0x524108)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.007s
panic: test timed out after 1s

goroutine 17 [running]:
panic(0x4ec1c0, 0xc420210010)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x518ec2, 0x1c, 0x524100, 0xc42003bd01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.testBasic(0xc420070180, 0x1400, 0x400, 0x3, 0xc420040f08)
	/tmp/d20161115-21147-d784lw/solution_test.go:70 +0x72e
_/tmp/d20161115-21147-d784lw.testBasicFail(0xc420070180, 0x1400, 0x400, 0x3)
	/tmp/d20161115-21147-d784lw/solution_test.go:164 +0xfb
_/tmp/d20161115-21147-d784lw.TestBasicFail1024Concurrency(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:139 +0x46
testing.tRunner(0xc420070180, 0x524100)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.006s
panic: test timed out after 1s

goroutine 3 [running]:
panic(0x4ec1c0, 0xc420010140)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200820c0, 0x5163b8, 0xf, 0x524168, 0xc42003bd01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200820c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200820c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc42005e3e0)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 20 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestPerformance(0xc420082180)
	/tmp/d20161115-21147-d784lw/solution_test.go:197 +0x1dd
testing.tRunner(0xc420082180, 0x524168)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.006s
panic: test timed out after 1s

goroutine 22 [running]:
panic(0x4ec1c0, 0xc420010640)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x516f8b, 0x13, 0x524130, 0xc42003bd01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc42003be20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc42003bee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan send]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:241 +0x1e1
testing.tRunner(0xc420070180, 0x524130)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec

goroutine 7 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 8 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 9 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 10 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 11 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 12 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 13 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 14 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 15 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 16 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 17 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 18 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 19 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 20 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193

goroutine 21 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestConcurrentCalls.func2(0xc420054420, 0xf, 0xc42000e3e0, 0xa, 0x5, 0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:232 +0x10a
created by _/tmp/d20161115-21147-d784lw.TestConcurrentCalls
	/tmp/d20161115-21147-d784lw/solution_test.go:238 +0x193
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.006s
panic: test timed out after 1s

goroutine 8 [running]:
panic(0x4ec1c0, 0xc420010660)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
testing.startAlarm.func1()
	/usr/local/go/src/testing/testing.go:918 +0x10b
created by time.goFunc
	/usr/local/go/src/time/sleep.go:154 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200700c0, 0x518433, 0x19, 0x524148, 0xc420035d01)
	/usr/local/go/src/testing/testing.go:647 +0x316
testing.RunTests.func1(0xc4200700c0)
	/usr/local/go/src/testing/testing.go:793 +0x6d
testing.tRunner(0xc4200700c0, 0xc420035e20)
	/usr/local/go/src/testing/testing.go:610 +0x81
testing.RunTests(0x524190, 0x5a0320, 0x9, 0x9, 0x515f86)
	/usr/local/go/src/testing/testing.go:799 +0x2f5
testing.(*M).Run(0xc420035ee8, 0xc420010510)
	/usr/local/go/src/testing/testing.go:743 +0x85
main.main()
	_/tmp/d20161115-21147-d784lw/_test/_testmain.go:72 +0xc6

goroutine 6 [chan receive]:
_/tmp/d20161115-21147-d784lw.TestExampleSimpleScenario(0xc420070180)
	/tmp/d20161115-21147-d784lw/solution_test.go:292 +0x1b2
testing.tRunner(0xc420070180, 0x524148)
	/usr/local/go/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/local/go/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	_/tmp/d20161115-21147-d784lw	1.006s

История (1 версия и 0 коментара)

Стоил обнови решението на 15.11.2016 17:08 (преди над 1 година)

+package main
+
+type ConcurrentRetryTask struct {
+ index int
+ result string
+}
+
+func ConcurrentRetryExecutor(tasks []func() string, concurrentLimit int, retryLimit int) <-chan ConcurrentRetryTask {
+ ch := make(chan ConcurrentRetryTask)
+ chTemp := make(chan struct{}, concurrentLimit)
+ for index := 0; index < concurrentLimit; index++ {
+ chTemp <- struct{}{}
+ }
+
+ //TODO: goroutine
+
+ return ch
+}