Skip to content
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

Collectors need to be in particular order #80

Open
tukusejssirs opened this issue Jan 13, 2023 · 2 comments
Open

Collectors need to be in particular order #80

tukusejssirs opened this issue Jan 13, 2023 · 2 comments

Comments

@tukusejssirs
Copy link
Contributor

I use ladder99/fanuc-driver:linux64-886a5a3 Docker image.

When I define collectors as follows (I sort the collectors alphabetically):

  collector-data: &collector-data
    l99.driver.fanuc.strategies.FanucMultiStrategy, fanuc:
      - l99.driver.fanuc.collectors.Alarms, fanuc
      - l99.driver.fanuc.collectors.AxisData, fanuc
      - l99.driver.fanuc.collectors.GCodeData, fanuc
      - l99.driver.fanuc.collectors.MachineInfo, fanuc
      - l99.driver.fanuc.collectors.Messages, fanuc
      - l99.driver.fanuc.collectors.ProductionData, fanuc
      - l99.driver.fanuc.collectors.SpindleData, fanuc
      - l99.driver.fanuc.collectors.StateData, fanuc
      - l99.driver.fanuc.collectors.ToolData, fanuc

it sometimes (rarely) works, sometimes it does not work.

However, when I move MachineInfo to the top (as the first collector, before Alarms), all works as expected.

I’d assume that the order in which the collectors are defined, does not matter, i.e. fanuc-driver would solve the collector dependencies on each other.

@MRIIOT
Copy link
Contributor

MRIIOT commented Jan 28, 2023

Yes, this needs to be addressed internally to resolve dependencies regardless of the order in yaml.

@MRIIOT
Copy link
Contributor

MRIIOT commented Sep 5, 2023

Order of collectors becomes relevant in the case of outputs backed by Scriban scripts. In the example of MTConnect output, the execution data item is created by the StateData class, however, it might be desirable to overwrite the value using data from Pmc class. In this case, Pmc must execute after StateData.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants