On Mon, Oct 23, 2017 at 11:06 AM, Jeff Ortel <jor...@redhat.com> wrote:

>
> On 10/23/2017 09:55 AM, Michael Hrivnak wrote:
> >
> > A task status should not include an exhaustive list of every resource
> created. For example, a publish task
> > should not include a reference to every metadata artifact it made. It
> would be sufficient to include a
> > reference to the publication, the task's primary output, which then can
> be used to reference subordinate
> > resources.
> >
> > On a task status representation, this could be included in a field
> called "created_resources", "output",
> > "return_value", or similar.
>
> Tasks (status) are a transient mechanism used to accomplish work and
> should not be used to track resources
> created.  Once the task has completed, the user should be free to forget
> the task ID and be able to use
> natural keys to find and inspect resources that got created/updated.
>

I'm also not sure what natural key a publication will be able to reliably
have. If I publish the same repo three times, how do I know which
publication resulted from each task? Or when a repo version is created by a
sync, how would an end user know which version was created by the task they
were monitoring?

Just as a 201 response should include a link to the resource that was
created, a 202 should include a link to a resource that can monitor the
status of the request to create something. Why would that status monitor
not upon completion include a link to the resource that got created? It's
fulfilling the same end goal that could otherwise be achieved from a 201
response, but with an asynchronous part of the workflow.

-- 

Michael Hrivnak

Principal Software Engineer, RHCE

Red Hat
_______________________________________________
Pulp-dev mailing list
Pulp-dev@redhat.com
https://www.redhat.com/mailman/listinfo/pulp-dev

Reply via email to