Skip to content

Celery queue related CI failures #8403

@karajan1001

Description

@karajan1001

Bug Report

Some of the celery queue-related tests failed, look into it I found this is because in some of the tests we regard the experiments to be finished after dvc.experiments.run(run_all=True)

dvc.experiments.run(
failed_exp_stage.addressing, params=["foo=2"], queue=True
)
exp_rev = dvc.experiments.scm.resolve_rev(f"{CELERY_STASH}@{{0}}")
dvc.experiments.run(run_all=True)
experiments = dvc.experiments.show()[baseline_rev]

While this command will finish right after the sub-process is finished.

for line in self.proc.follow(entry.stash_rev, encoding):
ui.write(line, end="")

And the task might still need some post process like (result collection and temp workspace cleaning)

proc_dict = queue.proc.run_signature(cmd, name=entry.stash_rev)()
collect_exp.s(proc_dict, entry_dict)()
finally:
cleanup_exp.s(executor, infofile)()

This will probably let the tasks still in running status in the following commands.

Description

Reproduce

Expected

Environment information

Output of dvc doctor:

$ dvc doctor

Additional Information (if any):

Metadata

Metadata

Assignees

Labels

p1-importantImportant, aka current backlog of things to do

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions