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

Fix the progress bar going backwards when running simulation on Celery #1875

Open
grzanka opened this issue Dec 4, 2024 · 0 comments
Open
Assignees

Comments

@grzanka
Copy link
Contributor

grzanka commented Dec 4, 2024

I do not consider this issue to be only UI-related work. I would rather start with deep investigation of the each task state change on the backend side for several use cases:

  • simplest SH12A example ("proton pencil beam in water") executed on yap-dev (or local machine with docker) on 15 threads
  • simplest SH12A example (as above) executed as above, but on 35 threads, to observe how task state is changing if first 15 jobs would execute, while another 20 is waiting, then another 15 is executed etc....
  • longer SH12A example (i.e. "proton pencil beam in water" with 10^6 or 10^7 primaries) executed on 15 threads on Celery
  • longer SH12A example (i.e. "proton pencil beam in water" with 10^6 or 10^7 primaries) executed on Ares with 40 jobs
  • extremely short SH12A example (as above, but with 100 primaries) executed on 10 parallel jobs.

In each case I'd inspect the logs and note down somewhere when the transition of state happens on the backend side, focusing on particular cases:

  • time between job starts and first particle gets simulated
  • time between the last particle got simulated and job completes execution
  • case when the watcher didn't manage to send notification backend because simulation was too fast
  • time when each task is making POST request to backend to send results - how long does it take ?

Try to understand logic of read_file function, especially of this fragment: https://github.com/yaptide/yaptide/blob/71701d7161b26395a7f730e373b9df623c060096/yaptide/celery/utils/pymc.py#L250

Before any work on the UI try to draw a (time-)diagram of what happens with the state change, noting roughly the time. If some thing takes more than couple of seconds to perform, its worth to be noted.

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