enhancementhelp wanted
Description
Hi,
I'm working on synchronous API that is processing some data. In order to speed things up I have decided to spawn multiple threads in Django request and do processing there. The problem occurs when one of the threads tries to execute sql queries. Is there any way to run silk and spawn child threads?
The self.register_objects(TYP_QUERIES, *args) could just give a warning in that case and carry on.
File "/zzzz/service/yyyy/xxxx.py", line 883, in get_negative_info
p_1 = Node.objects.get(id=node)
File "/Library/Python/2.7/site-packages/django/db/models/manager.py", line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 381, in get
num = len(clone)
File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 240, in __len__
self._fetch_all()
File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 1074, in _fetch_all
self._result_cache = list(self.iterator())
File "/Library/Python/2.7/site-packages/django/db/models/query.py", line 52, in __iter__
results = compiler.execute_sql()
File "/Library/Python/2.7/site-packages/silk/sql.py", line 52, in execute_sql
DataCollector().register_query(query_dict)
File "/Library/Python/2.7/site-packages/silk/collector.py", line 122, in register_query
self.register_objects(TYP_QUERIES, *args)
File "/Library/Python/2.7/site-packages/silk/collector.py", line 109, in register_objects
self.ensure_middleware_installed()
File "/Library/Python/2.7/site-packages/silk/collector.py", line 43, in ensure_middleware_installed
raise_middleware_error()
File "/Library/Python/2.7/site-packages/silk/collector.py", line 24, in raise_middleware_error
'Silk middleware has not been installed correctly. Ordering must ensure that Silk middleware can '
RuntimeError: Silk middleware has not been installed correctly. Ordering must ensure that Silk middleware can execute process_request and process_response. If an earlier middleware returns from either of these methods, Silk will not have the chance to inspect the request/response objects.
Thanks, Marcin