only mark job as sent if it is sent

master v0.1.2
Bel LaPointe 2022-01-13 17:18:04 -05:00
parent 2a93e52b0b
commit cc379c52ad
3 changed files with 17 additions and 13 deletions

View File

@ -22,7 +22,9 @@
}, },
"Clients": { "Clients": {
"bel": { "bel": {
"States": [], "States": [
"NC"
],
"IDs": { "IDs": {
"Matrix": "@bel:m.bltrucks.top" "Matrix": "@bel:m.bltrucks.top"
}, },
@ -56,7 +58,7 @@
"Matrix": { "Matrix": {
"ReceiveEnabled": true, "ReceiveEnabled": true,
"Mock": false, "Mock": false,
"Continuation": "190", "Continuation": "210",
"Homeserver": "https://m.bltrucks.top", "Homeserver": "https://m.bltrucks.top",
"Username": "@bot.m.bltrucks.top", "Username": "@bot.m.bltrucks.top",
"Token": "mvDWB96KXMF8XhOam8EC5XVdQvSEw0CDeClcSWocBcYkwZX3FPNWZ5uOnQk2EmT1cjpzfeuD7gDYPPjOuyZlI3bE9TE35UjNOlZgi0Tugm25s91iVsbIF6kMZsCIhVMSmEf6w3jxX6wQYOWvmDZ4mu6f5c8wr221EMDcOpEzQV09d1zuBSWgKLBgjqAkYHJZ5dTRIWpEDpPgujhOFZa2ld1HiAOxrJKlIrlfDBN0CUsTlGOGplujDAr4VtpFzNRS", "Token": "mvDWB96KXMF8XhOam8EC5XVdQvSEw0CDeClcSWocBcYkwZX3FPNWZ5uOnQk2EmT1cjpzfeuD7gDYPPjOuyZlI3bE9TE35UjNOlZgi0Tugm25s91iVsbIF6kMZsCIhVMSmEf6w3jxX6wQYOWvmDZ4mu6f5c8wr221EMDcOpEzQV09d1zuBSWgKLBgjqAkYHJZ5dTRIWpEDpPgujhOFZa2ld1HiAOxrJKlIrlfDBN0CUsTlGOGplujDAr4VtpFzNRS",

23
main.go
View File

@ -278,12 +278,13 @@ func once() error {
} }
log.Printf("once: sending jobs: %+v", jobs) log.Printf("once: sending jobs: %+v", jobs)
for i := range jobs { for i := range jobs {
if err := sendJob(jobs[i]); err != nil { if ok, err := sendJob(jobs[i]); err != nil {
return err
}
log.Println("sent job", jobs[i])
if err := config.Get().DB().Set(jobs[i].ID, []byte(`sent`)); err != nil {
return err return err
} else if ok {
log.Println("sent job", jobs[i])
if err := config.Get().DB().Set(jobs[i].ID, []byte(`sent`)); err != nil {
return err
}
} }
} }
return nil return nil
@ -325,15 +326,15 @@ func dropBanlistJobs(jobs []broker.Job) ([]broker.Job, error) {
return jobs, nil return jobs, nil
} }
func sendJob(job broker.Job) error { func sendJob(job broker.Job) (bool, error) {
sender := message.NewMatrix() sender := message.NewMatrix()
payload := job.FormatMultilineText() payload := job.FormatMultilineText()
log.Printf("once: send job %s if nonzero: %s", job.String(), payload) log.Printf("once: send job %s if nonzero: %s", job.String(), payload)
if len(payload) == 0 { if len(payload) == 0 {
return nil return false, nil
} }
if err := sender.Send(payload); err != nil { if err := sender.Send(payload); err != nil {
return err return false, err
} }
maps := config.Get().Maps maps := config.Get().Maps
if maps.Pickup { if maps.Pickup {
@ -341,7 +342,7 @@ func sendJob(job broker.Job) error {
uri := fmt.Sprintf(maps.URIFormat, pickup, pickup) uri := fmt.Sprintf(maps.URIFormat, pickup, pickup)
log.Printf("sending pickup image: %s", uri) log.Printf("sending pickup image: %s", uri)
if err := sender.SendImage(uri); err != nil { if err := sender.SendImage(uri); err != nil {
return err return true, err
} }
} }
if maps.Dropoff { if maps.Dropoff {
@ -349,10 +350,10 @@ func sendJob(job broker.Job) error {
uri := fmt.Sprintf(maps.URIFormat, dropoff, dropoff) uri := fmt.Sprintf(maps.URIFormat, dropoff, dropoff)
log.Printf("sending dropoff image: %s", uri) log.Printf("sending dropoff image: %s", uri)
if err := sender.SendImage(uri); err != nil { if err := sender.SendImage(uri); err != nil {
return err return true, err
} }
} }
return nil return true, nil
} }
func sendNewStates(client string, states []config.State) error { func sendNewStates(client string, states []config.State) error {

View File

@ -1,4 +1,5 @@
todo: todo:
- write-as for clients so ma can write to pa by default
- link to view more - link to view more
- map with to-from line - map with to-from line
- continuation is garbo, but I can still do better client side to avoid get-set high level - continuation is garbo, but I can still do better client side to avoid get-set high level