I hereby claim:
- I am cmelbye on github.
- I am melbyec (https://keybase.io/melbyec) on keybase.
- I have a public key ASAibO1Oo1d77CNrdMaXZlEPDwm0N3Ao3Pu3K8_OhF9bOgo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
Raven.capture_message("Failed to send push notification (#{reason})", { | |
:logger => "urbanairship", | |
:extra => { | |
'Notification' => notification, | |
'Response' => reason, | |
'Response code' => response.code, | |
}, | |
:user => { | |
'id' => recipient.id, | |
'email' => recipient.email, |
package main | |
type Request struct { | |
} | |
type Pool chan Request | |
func main() { | |
} |
package main | |
import ( | |
"encoding/json" | |
"errors" | |
"log" | |
"net/http" | |
) | |
/* |
// Copyright 2014 Google Inc. All rights reserved. | |
// Use of this source code is governed by the Apache 2.0 | |
// license that can be found in the LICENSE file. | |
package internal | |
// This file implements a network dialer that limits the number of concurrent connections. | |
// It is only used for API calls. | |
import ( |
var limitSem = make(chan int, 100) // TODO(dsymonds): Use environment variable. | |
func limitRelease() { | |
// non-blocking | |
select { | |
case <-limitSem: | |
default: | |
// This should not normally happen. | |
log.Print("appengine: unbalanced limitSem release!") | |
} |
type limitConn struct { | |
mu sync.Mutex // only for closing the net.Conn | |
net.Conn | |
} | |
func (lc *limitConn) Read(b []byte) (int, error) { | |
lc.mu.Lock() | |
defer lc.mu.Unlock() | |
if lc.Conn == nil { |
goroutine 74122 [semacquire]: | |
sync.(*Mutex).Lock(0xc214391ea0) | |
/usr/local/go/src/sync/mutex.go:66 +0xd3 | |
google.golang.org/appengine/internal.(*limitConn).Close(0xc214391ea0, 0x0, 0x0) | |
google.golang.org/appengine/internal/net.go:61 +0x45 | |
net/http.(*persistConn).closeLocked(0xc209ea6e70) | |
/usr/local/go/src/net/http/transport.go:1147 +0x55 | |
net/http.(*persistConn).close(0xc209ea6e70) | |
/usr/local/go/src/net/http/transport.go:1141 +0x73 | |
net/http.(*Transport).putIdleConn(0xc208052120, 0xc209ea6e70, 0xc20b534fc0) |
➜ ~ docker run -t -i google/appengine-go /bin/bash | |
exec: "/app/_ah/exe": stat /app/_ah/exe: no such file or directoryFATA[0000] Error response from daemon: Cannot start container 7a9d6a201617c95fdd0d96f96e07b0f6b39e95c7cbf2f1f7ad4bf25581fdfc40: exec: "/app/_ah/exe": stat /app/_ah/exe: no such file or directory |
# Dockerfile extending the generic Go image with application files for a | |
# single application. | |
FROM google/appengine-go | |
RUN apt-get update && apt-get install nasm | |
RUN curl -L https://github.com/mozilla/mozjpeg/releases/download/v3.0/mozjpeg-3.0-release-source.tar.gz | tar xvz | |
RUN cd mozjpeg && ./configure && make install | |
ENV GOMAXPROCS 4 |