22 lines
426 B
Go
22 lines
426 B
Go
package env
|
|
|
|
import (
|
|
"log"
|
|
)
|
|
|
|
func hashHostname(hostname string) uint16 {
|
|
var h uint16 ;
|
|
for i, b := range hostname {
|
|
h += uint16(i+1)*uint16(b)
|
|
}
|
|
return h
|
|
}
|
|
|
|
func WorkerID() uint16 {
|
|
ip, err := fargateTaskIP()
|
|
if err != nil {
|
|
log.Printf("Warning: unable to retrieve Fargate Task IP: %v; trying to use HOSTNAME instead", err)
|
|
return hashHostname(String("HOSTNAME"))
|
|
}
|
|
return uint16(ip[2])<<8 + uint16(ip[3])
|
|
}
|