mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-04 02:34:50 -04:00
Change the way we create observers to deferreds so that we don't get spammed by 'unhandled errors'
This commit is contained in:
parent
724bb1e7d9
commit
fca28d243e
3 changed files with 60 additions and 16 deletions
|
@ -25,7 +25,7 @@ from twisted.internet import defer
|
|||
from twisted.web.resource import Resource
|
||||
from twisted.protocols.basic import FileSender
|
||||
|
||||
from synapse.util.async import create_observer
|
||||
from synapse.util.async import ObservableDeferred
|
||||
|
||||
import os
|
||||
|
||||
|
@ -83,13 +83,17 @@ class BaseMediaResource(Resource):
|
|||
download = self.downloads.get(key)
|
||||
if download is None:
|
||||
download = self._get_remote_media_impl(server_name, media_id)
|
||||
download = ObservableDeferred(
|
||||
download,
|
||||
consumeErrors=True
|
||||
)
|
||||
self.downloads[key] = download
|
||||
|
||||
@download.addBoth
|
||||
def callback(media_info):
|
||||
del self.downloads[key]
|
||||
return media_info
|
||||
return create_observer(download)
|
||||
return download.observe()
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _get_remote_media_impl(self, server_name, media_id):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue