Comments (2)
Figured it out, It's partly my own fault;
Calling an rspecq worker with an empty file string is what causes it.
My script looks a bit like below, and where $FILES is empty it passes "" to rspecq, which doesn't handle it well.
for i in $range; do
bundle exec rspecq --worker=$i "$FILES"
end
It causes most of rspecq's workers to just loop
endlessly without any pause/sleep while (I think) 1 worker actually does run the test suite. Not sure why, I didn't dive in, but I think it's not populating redis properly. I can take a look later although at a glance it looks like perhaps there are no guards for empty ARGV members, I noticed
# bin/rspecq
...
worker.files_or_dirs_to_run = ARGV if ARGV.any?
...
so [""]
would be passed along.
EDIT:
To add, when timings aren't accurate & some workers are "done" but others still have work the "done" workers may start to show the same behaviour, so it looks like a defensive return/sleep might be necessary for the loop.
I can put together a PR if you're likely to review it?
from rspecq.
Hello @siassaj.
That is indeed very interesting. I just want you to know that unfortunately at the time we do not have the resources to catch up on rspecq, so this is going to have to wait. Thank you for the report however. It will be on our radar.
In the meantime, post your rspecq & redis configurations in order to cross-check them with ours, in case there is something obvious we can point you at.
from rspecq.
Related Issues (20)
- Automatically handle parallel execution HOT 3
- Performance report HOT 8
- Create an introductory short video
- Improve flaky test reporting in Sentry HOT 7
- Provide info on how to reproduce flaky spec
- worker: files_to_example_ids fails if something is printed to stderr
- Allow to connect to Redis via url HOT 4
- RuntimeError: Queue not yet published after 30 seconds HOT 2
- Integrate rubocop in CI
- Reproducing flaky tests HOT 1
- Warn when the Redis instance is not configured to expire keys
- Integrate indirectly using a pub/sub mechanism
- A tool for new releases
- Find a way to get individual worker output HOT 1
- When reproduction flag is passed build/worker ids are not required
- sentry-raven is deprecated
- "Formatter ... unknown" error on startup HOT 1
- Using file split to run individual examples as jobs using lots of memory? HOT 2
- Remove sentry as a required dependency HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rspecq.