Comments (4)
Not a solution, but have you considered using asyncio
instead of threads?
from mne-python.
This works for me:
# %%
import asyncio
from mne.utils import logger
k = 0
async def foo():
global k
try:
while k < 2000:
logger.info("test %i", k)
k += 1
await asyncio.sleep(0.00001)
except Exception as error:
raise error
# Create and run the async task using the existing event loop in IPython / Jupyter
task = asyncio.create_task(foo())
await task
from mne-python.
Which is logic as this is now running in a single thread
. I started using threading
in mne-lsl
and changing the structure to asyncio
would be a lot of work for an unclear benefit to me. I still have no idea why this snippet is failing in interactive windows..
from mne-python.
But that one does work:
import logging
import sys
import threading
from concurrent.futures import ThreadPoolExecutor
global logger
logger = logging.getLogger("test")
handler = logging.StreamHandler(sys.stdout)
logger.setLevel(logging.INFO)
logger.addHandler(handler)
global k
k = 0
executor = ThreadPoolExecutor(max_workers=10) # Limit the number of worker threads
def foo():
global k
logger.info("test %i", k)
k += 1
if k == 3000:
return
executor.submit(foo) # Submit the task to the thread pool
# Start the first task
executor.submit(foo)
If I get that right, ThreadPoolExecutor
is limiting the number of workers and re-using them for future tasks; while my example was spawning/destroying thread rapidly. That seems to be the issue and I don't see anything to be done on MNE's logger side to prevent this from happening. Closing..
from mne-python.
Related Issues (20)
- `mne.Brain` fails to set renderer when blocking HOT 1
- Add option to import BrainVision files without marker types HOT 5
- BUG: Incompatibility of `sample_weight` with sklearn 1.4+ HOT 2
- BUG: Wrong output for adjacency=False
- bad colormap behavior when brain vlim sliders crossover
- Eyelink: Accept blank recording dates? HOT 3
- Release workflow HOT 16
- The PyQt6 dependency HOT 14
- Add an SSVEP classification algorithm as a new feature HOT 3
- ValueError: Points have to be provided as one dimensional arrays of length 3. HOT 2
- Request for Sensor Labeling Check in Child-Customized MEG System HOT 2
- Depend on `h5io` and `pymatreader` by default HOT 3
- Tracking issue for (implicit) MNE dependencies still lacking binary wheels for `aarch64` (ARM Linux) HOT 3
- small security upgrade to our upload action
- MAINT: Switch to *_array instead of *_matrix for sparse
- RuntimeWarning for channels with different filter settings on import HOT 12
- Cannot build HTML docs HOT 1
- Export EDF using `mne.export.export_raw`: Signal range error when original data range does not include zero AND data is not equal-length HOT 10
- Add the possibility to provide custom color mapping for channels in raw.plot() 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 mne-python.