Either a job is async (and the caller uses a different call to get a response), or it runs to completion.  Callback URL should be passed to the transient job and gear build, not called from here.