-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support new publishing workflow #1119
Comments
@yarikoptic So should the @mvandenburgh What happens if the publish task fails? |
poll: I think so, but not indefinitely. I feel we have some other similar interface where we do similar polling already. @mvandenburgh - is there a reasonable duration to wait for for such new publishing process and error out if timing out? |
@yarikoptic Are you thinking of |
yes! |
The default timeout on
The publish endpoint will check if a Version is eligible to be published prior to dispatching the task, and will let the requester know with a 400 error. If the publish task fails while running due to some strange conditions, like the worker dying, it will be retried again until it succeeds. |
@mvandenburgh Another question: Previously, Also, what are all the values for the "status" field of version objects? |
Correct. Now, the response will be empty. Instead, the status code now indicates what the status of the publishing is; in particular, a status of 423 after POSTing to the
(Sorry for the confusion about upper/lower-case; my earlier comments were incorrect, each |
@mvandenburgh If the CLI were to use this new workflow against a pre-dandi/dandi-archive#1006 version of the Archive, is the workflow intended to be backwards-compatible, or is some specific error expected? Currently, in testing the new workflow in the CLI, it appears that the |
The However, it's possible (both in the current API and the new one proposed in dandi-archive#1006) to override that with the |
@mvandenburgh So the |
I agree that they should be consistent. Does the CLI use either of those query parameters with those endpoints? |
@mvandenburgh The CLI currently only uses the |
@jwodder @mvandenburgh could you please update on the status -- are we waiting for dandi-archive to harmonize |
@yarikoptic I have a PR in progress, but the tests are failing because of the order in which versions are currently returned, and I'd like to know whether to use |
Thank you @jwodder! @mvandenburgh is change coming to dandi-archive to harmonize that option to |
@jwodder @yarikoptic I just merged a change to dandi-archive changing the |
@mvandenburgh For documentation purposes, what fields can |
Currently, |
@mvandenburgh I'm passing |
@mvandenburgh Also, question: It's my understanding that, currently, any previously-published version can be "published again" by POSTing to |
Are you trying that against the production/staging instance, or a local instance of dandi/dandi-archive#1006? The changes haven't been merged in yet due to the failing CLI integration tests; I can issue a staging release if you'd like. |
@mvandenburgh I'm trying against a Dockerized instance of (what should be) the latest master commit of dandi-archive. I was under the impression that the |
Ah, I think I understand - are you saying there are other versions returned before it, but the draft version is the first with a status of |
@yarikoptic Yes. When testing publishing on a fresh Dandiset, there is one published version before "draft", and it has a status of "Valid". |
Ok great, that is the intended behavior. Any non-
|
|
That's also possible, and I agree that's a cleaner way to go about it. I had the
What sort of filtering are you referring to? |
Well, your original description of the workflow says "the first version with a status of |
Apologies, that was a mistake, I've update the original comment. Versions with different statuses should not be discarded; if the |
Update client-side publication workflow
🚀 Issue was released in |
See dandi/dandi-archive#1006 (comment) for more detail from @mvandenburgh . From the description it seems that new logic is compatible with old one, ie the same code for new logic should work just fine with currently deployed solution, we would just naturally have no PUBLISHING state.
The text was updated successfully, but these errors were encountered: