in awsiotjobs/awsiotjobs.go [183:195]
func (je *JobExecution) sendUpdate() error {
if je.client.Iot == nil {
log.Panic("Iot client not set")
}
payload := je.getUpdatePayload()
topic := fmt.Sprintf("%s/update", fmt.Sprintf(jobBaseTopic, je.client.config.ThingName, je.JobID))
log.Printf("Updating status with %s\non topic %s\n", string(payload.([]byte)), topic)
token := je.client.Iot.Publish(topic, 1, false, payload) // Send syncronously
if token.WaitTimeout(publishTimeout) && token.Error() != nil {
return token.Error()
}
return nil
}