-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdispatch.go
41 lines (36 loc) ยท 1.19 KB
/
dispatch.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import "github.com/sirupsen/logrus"
// ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฏธ์ง ๋ถ์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด
// ์ธ๋ค์ผ ์์ฒญ ๋ณํ ์์ฒญ
// ๊ทธ ์ธ์ ๋ฆฌ์ฌ์ด์ง ๋ณํ ์์ฒญ
// ์๋ณธ์ด๋ฏธ์ง ์
๋ก๋ ์์ฒญ์ ๋ง๋ ๋ค.
func DispatchMessages(baseImageTask *BaseImageTask) {
// base image task๋ฅผ ๋ณต์ ํ๋ฉด imageData๊ฐ ๋ณต์ ๋์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฌด ๋ง์ด ์ ์ ํ์ง๋ ์์๊น?
// => imageData์์๋ ๊ฒฐ๊ตญ byte arr์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ํ
๋ฐ, ์ด๋ = ํ ๋น์ ํด๋ deepcopy ๋๋ ๊ฒ์ด์๋๋ผ
// ๊ฐ์ arr์ ์ฐธ์กฐํ๋ slice์ผ ๋ฟ์.
// Enqueue ์ฌ๋ค์ผ ์์ฑ ์์
go func() {
ThumbnailTaskChan <- &ImageGenerateThumbnailTask{
BaseImageTask: baseImageTask,
}
logrus.Info("Enqueued thumbnail task")
}()
// Enqueue ๋ฆฌ์ฌ์ด์ง ์์ฑ ์์
go func() {
for _, size := range ResizeSizes {
ResizeTaskChan <- &ImageResizeTask{
BaseImageTask: baseImageTask,
ResizingWidth: size,
}
logrus.Info("Enqueued resize task for ", size)
}
}()
// Upload original image
go func() {
UploadTaskChan <- &ImageUploadTask{
BaseImageTask: baseImageTask,
UploadPath: "original",
}
logrus.Info("Enqueued upload task")
}()
}