When enqueuing an execution, you get back a unique ID referencing it. We will make that clearer in our documentation, thanks.
You shouldn't need to first do a check to see if the task already exists using a different api, and then choose whether or not to run a new task.
At least this is my preference.. a-la Durable Objects.
If you don't specify a custom unique id when calling the task it would then be treated as a task that can (and would make sense to be) run multiple times (i.e. not idempotent).
``` const somethingThatMayHaveBeenCalledBefore = idempotent(myFunc, txnref); const result = await somethingThatMayHaveBeenCalledBefore(params); ```