child dependency waits on previous frames?

General discussions and questions.
Post Reply
pfranz
Posts: 5
Joined: Fri Jan 05, 2018 6:37 am

child dependency waits on previous frames?

Post by pfranz »

I have two blocks with frame dependencies. If frame 3 of the parent dependency takes longer (4 and 5 have finished), frames 3, 4, or 5 of the child dependency won't pick up until 3 is done. I attached a test job and what I see when it runs. Is there any way to change this behavior? Running v2.2.3

Image

Code: Select all

{
  "job": {
    "name": "job name",
    "user_name": "vagrant",
    "blocks": [
      {
        "name": "One",
        "service": "generic",
        "parser": "generic",
        "command": "/usr/bin/perl -e 'my $x=abs(cos(@#@))*20;sleep($x); print $x' && echo ' done @#@'",
        "flags": 1,
        "frame_first": 1,
        "frame_last": 5,
        "tasks": [
          {}
        ]
      },
      {
        "name": "Two",
        "tasks_depend_mask": "One",
        "service": "generic",
        "parser": "generic",
        "command": "echo 'done @#@'",
        "flags": 1,
        "frame_first": 1,
        "frame_last": 5,
        "tasks": [
          {}
        ]
      }
    ]
  }
}
User avatar
timurhai
Site Admin
Posts: 911
Joined: Sun Jan 15, 2017 8:40 pm
Location: Russia, Korolev
Contact:

Re: child dependency waits on previous frames?

Post by timurhai »

Yes. This is a bug.
I will fix it, but for now very busy with other issues.
Job solving function should be completely rewritten.
This effect happen because there is a recursive function that solves task, run other other task solve if it depends.
There should not be any recursion, there should be like in jobs dependence, if it does, it just got DEPEND flag, and does not run other job, just wait READY flag.
(this was historically(always) in Afanasy code, bad idea, but still working)
Timur Hairulin
CGRU 3.3.1, Ubuntu 20.04, 22.04, MS Windows 10 (clients only).
Post Reply