diff options
author | Matthew Hodgson <matthew@arasphere.net> | 2016-05-10 16:30:05 +0200 |
---|---|---|
committer | Matthew Hodgson <matthew@arasphere.net> | 2016-05-10 16:30:05 +0200 |
commit | fe97b81c0929fd6cc31e8f0eb432e88ca8ccb045 (patch) | |
tree | 0c771563044691d447ea85cf3e3278ef50c07ea9 /synapse/storage/pusher.py | |
parent | Merge pull request #763 from matrix-org/erikj/ignore_user (diff) | |
parent | Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs (diff) | |
download | synapse-fe97b81c0929fd6cc31e8f0eb432e88ca8ccb045.tar.xz |
Merge pull request #759 from matrix-org/dbkr/email_notifs
Send email notifications for missed messages
Diffstat (limited to 'synapse/storage/pusher.py')
-rw-r--r-- | synapse/storage/pusher.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/synapse/storage/pusher.py b/synapse/storage/pusher.py index 11feb3eb11..d9afd7ec87 100644 --- a/synapse/storage/pusher.py +++ b/synapse/storage/pusher.py @@ -233,3 +233,30 @@ class PusherStore(SQLBaseStore): {'failing_since': failing_since}, desc="update_pusher_failing_since", ) + + @defer.inlineCallbacks + def get_throttle_params_by_room(self, pusher_id): + res = yield self._simple_select_list( + "pusher_throttle", + {"pusher": pusher_id}, + ["room_id", "last_sent_ts", "throttle_ms"], + desc="get_throttle_params_by_room" + ) + + params_by_room = {} + for row in res: + params_by_room[row["room_id"]] = { + "last_sent_ts": row["last_sent_ts"], + "throttle_ms": row["throttle_ms"] + } + + defer.returnValue(params_by_room) + + @defer.inlineCallbacks + def set_throttle_params(self, pusher_id, room_id, params): + yield self._simple_upsert( + "pusher_throttle", + {"pusher": pusher_id, "room_id": room_id}, + params, + desc="set_throttle_params" + ) |