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

Sequence Queueing Issues #1112

Open
RickCarlino opened this issue Jan 13, 2020 · 3 comments
Open

Sequence Queueing Issues #1112

RickCarlino opened this issue Jan 13, 2020 · 3 comments

Comments

@RickCarlino
Copy link
Contributor

Forum user dmbgo states that executing a sequence while one is already running causes unexpected behavior. Link to original forum post.

@jsimmonds2
Copy link
Contributor

jsimmonds2 commented Jan 15, 2020

@RickCarlino I had a play with this.
The only 2 ways that I found to make it happen ( probably same underlying mechanism ) is by

A) Using the TEST button on the Sequences page, e.g.

  • Select first Sequence, press TEST
  • quickly Select a different Sequence, press TEST

B) Running a device client using CeleryScript RPC over MQTT

  • Quickly Publish 2 execute requests ( different sequence numbers ) without waiting for rpc_ok.

Do the Sequences Use-Cases ( Stories :) allow for Canceling a running Sequence ?
Do we need to "serialize" Sequence requests ? . . or "cancel" all running ones if a new one arrives ?

@RickCarlino
Copy link
Contributor Author

Thanks so much for doing the research, @jsimmonds2 ! This is 100% still a bug, but it is good to know that it is confined to edge cases.

Do the Sequences Use-Cases ( Stories :) allow for Canceling a running Sequence ?

This is possible via e-stop. Did you have a different use case in mind?

Do we need to "serialize" Sequence requests ? . . or "cancel" all running ones if a new one arrives ?

It's been a while since I've looked into this part of the app, and its not how I typically use my device so I will need to give it a look. I have a hunch that we designed queueing as the intended default behavior, if memory serves me correct. Will need to investigate further. Details to follow

@mdingena
Copy link

mdingena commented Mar 9, 2021

I can confirm this happens when running two sequences from the Run button in the Sequence designer.

I was running (via Run button) a sequence that takes photos of the entire garden bed. While it was doing that for a bit, I tapped Run on another sequence that scans the bed for weeds.

The expected behaviour was that it would either perform that sequence after finishing the current running one, OR it would abort the current running one immediately to start the triggered one.

The observed behaviour was that FarmBot now started ping-ponging between coordinates and taking normal photos and plant detection photos (and getting them mixed up in the process).

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

3 participants