jobqueue: Replace JobArgs() with Job()

JobArgs() function replaced with more general Job() function that
returns all the parameters used to originally define a job during
Enqueue(). This new function enables access to the type of a job in the
queue, which wasn't available until now (except when Dequeueing).
This commit is contained in:
Achilleas Koutsou 2021-01-12 13:49:01 +01:00 committed by Ondřej Budai
parent 75a96bd99d
commit 668fb003ef
6 changed files with 26 additions and 18 deletions

View file

@ -103,10 +103,12 @@ func TestArgs(t *testing.T) {
require.NoError(t, err)
require.Equal(t, twoargs, parsedArgs)
// Read args after Dequeue
jargs, err := q.JobArgs(id)
// Read job params after Dequeue
jtype, jargs, jdeps, err := q.Job(id)
require.NoError(t, err)
require.Equal(t, args, jargs)
require.Equal(t, deps, jdeps)
require.Equal(t, typ, jtype)
id, deps, typ, args, err = q.Dequeue(context.Background(), []string{"fish"})
require.NoError(t, err)
@ -117,12 +119,13 @@ func TestArgs(t *testing.T) {
require.NoError(t, err)
require.Equal(t, oneargs, parsedArgs)
// Read args directly after Dequeue
jargs, err = q.JobArgs(id)
jtype, jargs, jdeps, err = q.Job(id)
require.NoError(t, err)
require.Equal(t, args, jargs)
require.Equal(t, deps, jdeps)
require.Equal(t, typ, jtype)
_, err = q.JobArgs(uuid.New())
_, _, _, err = q.Job(uuid.New())
require.Error(t, err)
}