diff --git a/glide.lock b/glide.lock index 066b329..5956175 100644 --- a/glide.lock +++ b/glide.lock @@ -1,5 +1,5 @@ -hash: ce8b9c283b9ddbe111e919bbf3fcdfddcefcb3210f29a97c47ae0cba4f970840 -updated: 2016-06-26T14:11:44.616980253+03:00 +hash: 96ed345890bdd751baf72ad30ea36db22f11225d4e2f9f7b2058a2373bcc7d53 +updated: 2016-06-26T19:58:55.781623321+03:00 imports: - name: github.com/aws/aws-sdk-go version: b85eaebe3c12e8db01a7c26882457c5c51100471 @@ -34,6 +34,8 @@ imports: version: 9fa818a44c2bf1396a17f9d5a3c0f6dd39d2ff8e - name: github.com/jmespath/go-jmespath version: 0b12d6b521d83fc7f755e7cfc1b1fbdd35a01a74 +- name: github.com/tj/go-debug + version: ff4a55a20a86994118644bbddc6a216da193cc13 - name: gopkg.in/yaml.v2 version: a83829b6f1293c91addabc89d0571c246397bbf4 devImports: [] diff --git a/glide.yaml b/glide.yaml index b0a2c91..0716bb1 100644 --- a/glide.yaml +++ b/glide.yaml @@ -8,3 +8,4 @@ import: - service/s3 - package: github.com/gorilla/mux - package: gopkg.in/yaml.v2 +- package: github.com/tj/go-debug diff --git a/wain/handler.go b/wain/handler.go index 01f9544..530534c 100644 --- a/wain/handler.go +++ b/wain/handler.go @@ -2,10 +2,13 @@ package wain import ( "fmt" + . "github.com/tj/go-debug" "regexp" "strings" ) +var debug = Debug("handler") + type ResizeOptions struct { Width int Height int @@ -30,21 +33,26 @@ func HandleProcessing(url ConfigUrl, s3 map[string]*S3Connection, r ResizeOption return imageData, nil } - fmt.Printf("No cached version found %s\n", cacheKey) - fmt.Printf("Downloading %s\n", originalKey) + debug("No cached version found %s\n", cacheKey) + debug("Downloading %s\n", originalKey) imageData, err = s3[url.Original.Bucket].GetObject(originalKey) if err != nil { return nil, err } - fmt.Printf("Resizing...\n") + debug("Resizing...\n") imageData, err = VipsResize(imageData, r) if err == nil { - fmt.Printf("Save cached version\n") - go s3[url.Cache.Bucket].PutObject(cacheKey, imageData, "image/jpeg") + debug("Save cached version\n") + go func() { + e := s3[url.Cache.Bucket].PutObject(cacheKey, imageData, "image/jpeg") + if e != nil { + fmt.Println(e) + } + }() } return imageData, err diff --git a/wain/server.go b/wain/server.go index 089643d..f4e42cb 100644 --- a/wain/server.go +++ b/wain/server.go @@ -47,6 +47,7 @@ func (s *Server) handleProcessing(url ConfigUrl) func(http.ResponseWriter, *http if err != nil { w.Header().Set("Content-Type", "text/plain; charset=utf-8") w.WriteHeader(400) + fmt.Printf("Unable to process image %s\n", r.URL) fmt.Println(err) } else { //TODO w.Header().Set("Content-Type", "") diff --git a/wain/vips.h b/wain/vips.h index 6326357..152121f 100644 --- a/wain/vips.h +++ b/wain/vips.h @@ -5,8 +5,6 @@ int vips_wain_init() { if (vips_init("wain-vips")) vips_error_exit("unable to start VIPS"); vips_concurrency_set(1); - vips_cache_set_max_mem(100 * 1048576); // 100Mb - vips_cache_set_max(500); return 0; } @@ -38,6 +36,7 @@ static double calculate_shrink(VipsImage *im, gboolean crop, int width, int heig int vips_wain_resize(void *src, size_t src_len, void **dst, size_t *dst_len, int width, int height) { VipsImage *image = vips_image_new_from_buffer(src, src_len, NULL, NULL); + if (!image) return 1; VipsImage *tmp = NULL; if (height == 0) {