Skip to content

Commit 075e84c

Browse files
authored
Merge pull request #97 from ripienaar/dependencies
Signed-off-by: R.I.Pienaar <[email protected]>
2 parents 6dcd63a + 31a0f0f commit 075e84c

29 files changed

+173
-607
lines changed

.github/workflows/test.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ jobs:
55
test:
66
strategy:
77
matrix:
8-
go: [ 1.17, 1.18 ]
8+
go: [ 1.18, 1.19 ]
99

1010
runs-on: ubuntu-latest
1111
steps:

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ client, _ := asyncjobs.NewClient(
5959
asyncjobs.RetryBackoffPolicy(asyncjobs.RetryLinearTenMinutes))
6060

6161
router := asyncjobs.NewTaskRouter()
62-
router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (interface{}, error) {
62+
router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (any, error) {
6363
log.Printf("Processing task %s", task.ID)
6464

6565
// do work here using task.Payload

ajc/task_cron_command.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func (c *taskCronCommand) addAction(_ *fisk.ParseContext) error {
201201
opts = append(opts, aj.TaskMaxTries(c.maxtries))
202202
}
203203

204-
var payload interface{}
204+
var payload any
205205
if c.payload != "" {
206206
payload = c.payload
207207
}

ajc/util.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func humanizeDuration(d time.Duration) string {
105105
return fmt.Sprintf("%.2fs", d.Seconds())
106106
}
107107

108-
func dumpJSON(d interface{}) {
108+
func dumpJSON(d any) {
109109
j, err := json.MarshalIndent(d, "", " ")
110110
if err != nil {
111111
panic(fmt.Sprintf("could not JSON render: %v", err))

client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ func (c *Client) saveOrDiscardTaskIfDesired(ctx context.Context, t *Task) error
186186
return c.storage.DeleteTaskByID(t.ID)
187187
}
188188

189-
func (c *Client) setTaskSuccess(ctx context.Context, t *Task, payload interface{}) error {
189+
func (c *Client) setTaskSuccess(ctx context.Context, t *Task, payload any) error {
190190
t.LastTriedAt = nowPointer()
191191
t.State = TaskStateCompleted
192192
t.LastErr = ""

client_examples_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import (
77
"time"
88
)
99

10-
func newEmail(to, subject, body string) map[string]interface{} {
11-
return map[string]interface{}{
10+
func newEmail(to, subject, body string) map[string]any {
11+
return map[string]any{
1212
"to": to,
1313
"subject": subject,
1414
"body": body,
@@ -71,7 +71,7 @@ func ExampleClient_consumer() {
7171
panicIfErr(err)
7272

7373
router := NewTaskRouter()
74-
err = router.HandleFunc("email:send", func(_ context.Context, _ Logger, t *Task) (interface{}, error) {
74+
err = router.HandleFunc("email:send", func(_ context.Context, _ Logger, t *Task) (any, error) {
7575
log.Printf("Processing task: %s", t.ID)
7676

7777
// handle task.Payload which is a JSON encoded email

client_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"context"
99
"encoding/json"
1010
"fmt"
11-
"io/ioutil"
1211
"log"
1312
"os"
1413
"sync"
@@ -29,7 +28,7 @@ func TestAsyncJobs(t *testing.T) {
2928
}
3029

3130
func withJetStream(cb func(nc *nats.Conn, mgr *jsm.Manager)) {
32-
d, err := ioutil.TempDir("", "jstest")
31+
d, err := os.MkdirTemp("", "jstest")
3332
Expect(err).ToNot(HaveOccurred())
3433
defer os.RemoveAll(d)
3534

@@ -152,7 +151,7 @@ var _ = Describe("Client", func() {
152151
handled := int32(0)
153152

154153
router := NewTaskRouter()
155-
router.HandleFunc("test", func(ctx context.Context, log Logger, t *Task) (interface{}, error) {
154+
router.HandleFunc("test", func(ctx context.Context, log Logger, t *Task) (any, error) {
156155
if t.Tries > 1 {
157156
log.Infof("Try %d for task %s", t.Tries, t.ID)
158157
}
@@ -212,7 +211,7 @@ var _ = Describe("Client", func() {
212211
var tries []time.Time
213212

214213
router := NewTaskRouter()
215-
router.HandleFunc("ginkgo", func(ctx context.Context, log Logger, t *Task) (interface{}, error) {
214+
router.HandleFunc("ginkgo", func(ctx context.Context, log Logger, t *Task) (any, error) {
216215
tries = append(tries, time.Now())
217216

218217
log.Infof("Trying task %s on try %d\n", t.ID, t.Tries)

docs/content/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ client, _ := asyncjobs.NewClient(
4040
asyncjobs.RetryBackoffPolicy(asyncjobs.RetryLinearTenMinutes))
4141

4242
router := asyncjobs.NewTaskRouter()
43-
router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (interface{}, error) {
43+
router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (any, error) {
4444
log.Printf("Processing task %s", task.ID)
4545

4646
// do work here using task.Payload

docs/content/overview/golang-overview.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Any number of producers can create tasks from any number of different processes.
5959
First we have a simplistic helper to create a map that describes an email:
6060

6161
```go
62-
func newEmail(to, subject, body string) interface{} {
62+
func newEmail(to, subject, body string) any {
6363
return map[string]string{"to": to, "subject": subject, "body": body}
6464
}
6565
```
@@ -105,7 +105,7 @@ client, err := asyncjobs.NewClient(
105105
panicIfErr(err)
106106

107107
router := asyncjobs.NewTaskRouter()
108-
err = router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (interface{}, error) {
108+
err = router.Handler("email:new", func(ctx context.Context, log asyncjobs.Logger, task *asyncjobs.Task) (any, error) {
109109
log.Printf("Processing task %s", task.ID)
110110

111111
// do work here using task.Payload

docs/content/overview/handlers-docker.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
aj "github.com/choria-io/asyncjobs"
2020
)
2121

22-
func AsyncJobHandler(ctx context.Context, log aj.Logger, task *aj.Task) (interface{}, error) {
22+
func AsyncJobHandler(ctx context.Context, log aj.Logger, task *aj.Task) (any, error) {
2323
// process your email
2424
}
2525
```

docs/content/reference/routing-concurrency-retry.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Below is a handler that sends an email, the task Payload is a serialized object
1717
The Task handler then is a single-purpose piece of code capable of handling 1 type of Task.
1818

1919
```go
20-
func emailNewHandler(ctx context.Context, log asycjobs.Logger, task *asyncjobs.Task) (interface{}, error) {
20+
func emailNewHandler(ctx context.Context, log asycjobs.Logger, task *asyncjobs.Task) (any, error) {
2121
// Parse the task payload into an email
2222
email, err := parseEmail(task.Payload)
2323
if err != nil { return nil, err }

docs/content/reference/terminology.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Connects to JetStream and manages the enqueueing and routing of tasks.
2424

2525
## Handler
2626

27-
Handlers are functions that can process a task with the signature `func(context.Context, *asyncjobs.Task) (interface{}, error)`.
27+
Handlers are functions that can process a task with the signature `func(context.Context, *asyncjobs.Task) (any, error)`.
2828

2929
## Router
3030

election/election.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func NewElection(name string, key string, bucket nats.KeyValue, opts ...Option)
111111
return e, nil
112112
}
113113

114-
func (e *election) debugf(format string, a ...interface{}) {
114+
func (e *election) debugf(format string, a ...any) {
115115
if e.opts.debug == nil {
116116
return
117117
}

election/election_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package election
77
import (
88
"context"
99
"fmt"
10-
"io/ioutil"
1110
"os"
1211
"sync"
1312
"testing"
@@ -31,7 +30,7 @@ var _ = Describe("Leader Election", func() {
3130
js nats.KeyValueManager
3231
kv nats.KeyValue
3332
err error
34-
debugger func(f string, a ...interface{})
33+
debugger func(f string, a ...any)
3534
)
3635

3736
BeforeEach(func() {
@@ -45,7 +44,7 @@ var _ = Describe("Leader Election", func() {
4544
TTL: 750 * time.Millisecond,
4645
})
4746
Expect(err).ToNot(HaveOccurred())
48-
debugger = func(f string, a ...interface{}) {
47+
debugger = func(f string, a ...any) {
4948
fmt.Fprintf(GinkgoWriter, fmt.Sprintf("%s\n", f), a...)
5049
}
5150
})
@@ -208,7 +207,7 @@ var _ = Describe("Leader Election", func() {
208207
func startJSServer(t GinkgoTInterface) (*server.Server, *nats.Conn) {
209208
t.Helper()
210209

211-
d, err := ioutil.TempDir("", "jstest")
210+
d, err := os.MkdirTemp("", "jstest")
212211
if err != nil {
213212
t.Fatalf("temp dir could not be made: %s", err)
214213
}

election/options.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type options struct {
2323
lostCb func()
2424
campaignCb func(s State)
2525
bo Backoff
26-
debug func(format string, a ...interface{})
26+
debug func(format string, a ...any)
2727
}
2828

2929
// WithBackoff will use the provided Backoff timer source to decrease campaign intervals over time
@@ -47,6 +47,6 @@ func OnCampaign(cb func(s State)) Option {
4747
}
4848

4949
// WithDebug sets a function to do debug logging with
50-
func WithDebug(cb func(format string, a ...interface{})) Option {
50+
func WithDebug(cb func(format string, a ...any)) Option {
5151
return func(o *options) { o.debug = cb }
5252
}

generators/godocker.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func (g *GoContainer) RenderToDirectory(target string) error {
6363
}
6464
}
6565

66-
funcs := map[string]interface{}{
66+
funcs := map[string]any{
6767
"RetryNamesList": func() string {
6868
return strings.Join(aj.RetryPolicyNames(), ", ")
6969
},

go.mod

+32-27
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,52 @@
11
module github.com/choria-io/asyncjobs
22

3-
go 1.17
3+
go 1.18
44

55
require (
6-
github.com/AlecAivazis/survey/v2 v2.3.4
7-
github.com/choria-io/fisk v0.0.3-0.20220605065054-0cf82636ff4e
6+
github.com/AlecAivazis/survey/v2 v2.3.6
7+
github.com/choria-io/fisk v0.2.1
88
github.com/dustin/go-humanize v1.0.0
9-
github.com/nats-io/jsm.go v0.0.33
10-
github.com/nats-io/nats-server/v2 v2.8.4
11-
github.com/nats-io/nats.go v1.16.0
12-
github.com/onsi/ginkgo/v2 v2.1.4
13-
github.com/onsi/gomega v1.19.0
14-
github.com/prometheus/client_golang v1.12.2
9+
github.com/nats-io/jsm.go v0.0.35
10+
github.com/nats-io/nats-server/v2 v2.9.9
11+
github.com/nats-io/nats.go v1.21.0
12+
github.com/onsi/ginkgo/v2 v2.6.1
13+
github.com/onsi/gomega v1.24.2
14+
github.com/prometheus/client_golang v1.14.0
1515
github.com/robfig/cron/v3 v3.0.1
1616
github.com/segmentio/ksuid v1.0.4
17-
github.com/sirupsen/logrus v1.8.1
17+
github.com/sirupsen/logrus v1.9.0
1818
github.com/xlab/tablewriter v0.0.0-20160610135559-80b567a11ad5
19-
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467
19+
golang.org/x/term v0.3.0
2020
gopkg.in/yaml.v3 v3.0.1
2121
)
2222

2323
require (
2424
github.com/beorn7/perks v1.0.1 // indirect
25-
github.com/cespare/xxhash/v2 v2.1.2 // indirect
25+
github.com/cespare/xxhash/v2 v2.2.0 // indirect
26+
github.com/go-logr/logr v1.2.3 // indirect
27+
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
2628
github.com/golang/protobuf v1.5.2 // indirect
29+
github.com/google/go-cmp v0.5.9 // indirect
30+
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
2731
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
28-
github.com/klauspost/compress v1.15.5 // indirect
29-
github.com/mattn/go-colorable v0.1.12 // indirect
30-
github.com/mattn/go-isatty v0.0.14 // indirect
31-
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
32+
github.com/klauspost/compress v1.15.13 // indirect
33+
github.com/kr/pretty v0.1.0 // indirect
34+
github.com/mattn/go-colorable v0.1.13 // indirect
35+
github.com/mattn/go-isatty v0.0.16 // indirect
36+
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
3237
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
3338
github.com/minio/highwayhash v1.0.2 // indirect
34-
github.com/nats-io/jwt/v2 v2.2.1-0.20220330180145-442af02fd36a // indirect
39+
github.com/nats-io/jwt/v2 v2.3.0 // indirect
3540
github.com/nats-io/nkeys v0.3.1-0.20220214171627-79ae42e4d898 // indirect
3641
github.com/nats-io/nuid v1.0.1 // indirect
37-
github.com/prometheus/client_model v0.2.0 // indirect
38-
github.com/prometheus/common v0.32.1 // indirect
39-
github.com/prometheus/procfs v0.7.3 // indirect
40-
golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd // indirect
41-
golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect
42-
golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 // indirect
43-
golang.org/x/text v0.3.7 // indirect
44-
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
45-
google.golang.org/protobuf v1.27.1 // indirect
46-
gopkg.in/yaml.v2 v2.4.0 // indirect
42+
github.com/prometheus/client_model v0.3.0 // indirect
43+
github.com/prometheus/common v0.39.0 // indirect
44+
github.com/prometheus/procfs v0.8.0 // indirect
45+
golang.org/x/crypto v0.4.0 // indirect
46+
golang.org/x/net v0.4.0 // indirect
47+
golang.org/x/sys v0.3.0 // indirect
48+
golang.org/x/text v0.5.0 // indirect
49+
golang.org/x/time v0.3.0 // indirect
50+
golang.org/x/tools v0.4.0 // indirect
51+
google.golang.org/protobuf v1.28.1 // indirect
4752
)

0 commit comments

Comments
 (0)