Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/python3.11/asyncio
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: base_tasks.py
import linecache import reprlib import traceback from . import base_futures from . import coroutines def _task_repr_info(task): info = base_futures._future_repr_info(task) if task.cancelling() and not task.done(): # replace status info[0] = 'cancelling' info.insert(1, 'name=%r' % task.get_name()) coro = coroutines._format_coroutine(task._coro) info.insert(2, f'coro=<{coro}>') if task._fut_waiter is not None: info.insert(3, f'wait_for={task._fut_waiter!r}') return info @reprlib.recursive_repr() def _task_repr(task): info = ' '.join(_task_repr_info(task)) return f'<{task.__class__.__name__} {info}>' def _task_get_stack(task, limit): frames = [] if hasattr(task._coro, 'cr_frame'): # case 1: 'async def' coroutines f = task._coro.cr_frame elif hasattr(task._coro, 'gi_frame'): # case 2: legacy coroutines f = task._coro.gi_frame elif hasattr(task._coro, 'ag_frame'): # case 3: async generators f = task._coro.ag_frame else: # case 4: unknown objects f = None if f is not None: while f is not None: if limit is not None: if limit <= 0: break limit -= 1 frames.append(f) f = f.f_back frames.reverse() elif task._exception is not None: tb = task._exception.__traceback__ while tb is not None: if limit is not None: if limit <= 0: break limit -= 1 frames.append(tb.tb_frame) tb = tb.tb_next return frames def _task_print_stack(task, limit, file): extracted_list = [] checked = set() for f in task.get_stack(limit=limit): lineno = f.f_lineno co = f.f_code filename = co.co_filename name = co.co_name if filename not in checked: checked.add(filename) linecache.checkcache(filename) line = linecache.getline(filename, lineno, f.f_globals) extracted_list.append((filename, lineno, name, line)) exc = task._exception if not extracted_list: print(f'No stack for {task!r}', file=file) elif exc is not None: print(f'Traceback for {task!r} (most recent call last):', file=file) else: print(f'Stack for {task!r} (most recent call last):', file=file) traceback.print_list(extracted_list, file=file) if exc is not None: for line in traceback.format_exception_only(exc.__class__, exc): print(line, file=file, end='')
.
34 Items
Change directory
Remove directory
Rename directory
..
204 Items
Change directory
Remove directory
Rename directory
__init__.py
1.16 KB
Edit
Delete
Copy
Move
Remame
__main__.py
3.26 KB
Edit
Delete
Copy
Move
Remame
__pycache__
33 Items
Change directory
Remove directory
Rename directory
base_events.py
73.06 KB
Edit
Delete
Copy
Move
Remame
base_futures.py
1.96 KB
Edit
Delete
Copy
Move
Remame
base_subprocess.py
8.66 KB
Edit
Delete
Copy
Move
Remame
base_tasks.py
2.58 KB
Edit
Delete
Copy
Move
Remame
constants.py
1.09 KB
Edit
Delete
Copy
Move
Remame
coroutines.py
3.32 KB
Edit
Delete
Copy
Move
Remame
events.py
27.76 KB
Edit
Delete
Copy
Move
Remame
exceptions.py
1.71 KB
Edit
Delete
Copy
Move
Remame
format_helpers.py
2.35 KB
Edit
Delete
Copy
Move
Remame
futures.py
13.88 KB
Edit
Delete
Copy
Move
Remame
locks.py
18.57 KB
Edit
Delete
Copy
Move
Remame
log.py
0.12 KB
Edit
Delete
Copy
Move
Remame
mixins.py
0.47 KB
Edit
Delete
Copy
Move
Remame
proactor_events.py
32.48 KB
Edit
Delete
Copy
Move
Remame
protocols.py
6.79 KB
Edit
Delete
Copy
Move
Remame
queues.py
7.79 KB
Edit
Delete
Copy
Move
Remame
runners.py
6.68 KB
Edit
Delete
Copy
Move
Remame
selector_events.py
44.06 KB
Edit
Delete
Copy
Move
Remame
sslproto.py
30.72 KB
Edit
Delete
Copy
Move
Remame
staggered.py
5.85 KB
Edit
Delete
Copy
Move
Remame
streams.py
26.06 KB
Edit
Delete
Copy
Move
Remame
subprocess.py
7.23 KB
Edit
Delete
Copy
Move
Remame
taskgroups.py
7.6 KB
Edit
Delete
Copy
Move
Remame
tasks.py
33.01 KB
Edit
Delete
Copy
Move
Remame
threads.py
0.77 KB
Edit
Delete
Copy
Move
Remame
timeouts.py
4.45 KB
Edit
Delete
Copy
Move
Remame
transports.py
10.47 KB
Edit
Delete
Copy
Move
Remame
trsock.py
2.42 KB
Edit
Delete
Copy
Move
Remame
unix_events.py
50.9 KB
Edit
Delete
Copy
Move
Remame
windows_events.py
33.31 KB
Edit
Delete
Copy
Move
Remame
windows_utils.py
4.94 KB
Edit
Delete
Copy
Move
Remame