Git Product home page Git Product logo

Comments (7)

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

The DAG needs "file sensors" to check whether the mask and geometry files already exist (and trigger fetch_mask and/or fetch_geom if they do not).

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

From @valmar:
Ok, so basically, what we need to do is pull the following files from the website:
https://www.ondamonitor.com/html/files/lcls/{hutch}/run_om.sh
https://www.ondamonitor.com/html/files/lcls/{hutch}/monitor.yaml
Where hutch is mfx or cxi.
We must then pull the latest geometry and mask from btx

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

From @valmar:
We can work on these files, because they currently contain "default" nodes. For example, run_om.sh for cxi has the following nodes: daq-mfx-mon02,daq-mfx-mon03,daq-mfx-mon04,daq-mfx-mon05

These are usually OK! I can make an empty template and we could fill them in with the correct nodes. Or we could just use these if they are usually OK!

The main problem I see is this: in order to get the available nodes, we must run wherepsana but we must run it on the DAQ machine (say cxi-daq), which might be a problem

One thing we could do is have this information "somewhere" on the network where AirFlow can get it, like the queue as we discussed yesterday

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

After discussing with @valmar , Murali, Wilko and Thorsten this morning, it became apparent that this use case was not adapted to Airflow DAG runs triggered from the eLog, as it requires web access, and targets the beamline operator for localized tasks rather than a general user task that could be run across multiple HPC.

Instead, what needs to be implemented is:

  • cron jobs on pslogin to regularly git pull btx, mrxv and omdevteam.github.io to /cds/sw/package/autosfx/
  • a simple script that can be run from ${hutch}-daq by ${hutch}opr to:
    • create /cds/home/opr/${hutch}opr/OM-GUI/${experiment}/om-workspace
    • copy monitor.yaml and run_om.sh from /cds/sw/package/autosfx/omdevteam.github.io/html/files/lcls/${hutch}
    • get the latest mask and geometry from /cds/sw/package/autosfx/mrxv/ for the relevant detector.
    • (bonus) run wherepsana and update run_om.sh with the corresponding monitoring nodes.

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

cron job now setup:

[fpoitevi@pslogin01 btx]$ ./scripts/pull_repos_cron_pslogin.sh 
# Date: Fri Apr 22 18:15:32 PDT 2022 | User: fpoitevi | Location: /cds/sw/package/autosfx/btx
Pulling to /cds/sw/package/autosfx/btx
Already up-to-date.
Pulling to /cds/sw/package/autosfx/mrxv
Already up-to-date.
Pulling to /cds/sw/package/autosfx/omdevteam.github.io
Already up-to-date.
[fpoitevi@pslogin01 btx]$ crontab -l
@daily /cds/sw/package/autosfx/btx/scripts/pull_repos_cron_pslogin.sh >> /cds/sw/package/autosfx/btx/cronjob.log 2>&1

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

An initial attempt at automation for the second task above was drafted in #55

However, this will probably not be used in a fully automated fashion in production, due to unpredictable issues like the one we just encountered where the monitoring nodes were weirdly defined in the DAQ config file, resulting in MPI connection weirdness that could have impacted OM's performances.

from btx.

fredericpoitevin avatar fredericpoitevin commented on June 29, 2024

Cron job setup on S3DF as well:

[fpoitevi@sdflogin003 scripts]$ crontab -l
@daily /sdf/group/lcls/ds/tools/btx/scripts/pull_repos_cron_pslogin.sh >> /sdf/group/lcls/ds/tools/btx/cronjob.log 2>&1

from btx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.