Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Convert push to async/await. (#7948) | Patrick Cloke | 2020-07-27 | 1 | -42/+28 |
| | |||||
* | Add ability to run multiple pusher instances (#7855) | Erik Johnston | 2020-07-16 | 1 | -36/+42 |
| | | | This reuses the same scheme as federation sender sharding | ||||
* | Refactor getting replication updates from database. (#7636) | Erik Johnston | 2020-06-16 | 1 | -3/+1 |
| | | | The aim here is to make it easier to reason about when streams are limited and when they're not, by moving the logic into the database functions themselves. This should mean we can kill of `db_query_to_update_function` function. | ||||
* | Fix concurrent modification errors in pusher metrics (#7106) | Richard van der Hoff | 2020-03-19 | 1 | -9/+18 |
| | | | add a lock to try to make this metric actually work | ||||
* | Add prometheus metrics for the number of active pushers (#7103) | Richard van der Hoff | 2020-03-19 | 1 | -1/+23 |
| | |||||
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) | Patrick Cloke | 2020-02-21 | 1 | -1/+1 |
| | | | | Ensure good comprehension hygiene using flake8-comprehensions. | ||||
* | Clean up startup for the pusher (#6558) | Richard van der Hoff | 2019-12-18 | 1 | -4/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | * Remove redundant python2 support code `str.decode()` doesn't exist on python3, so presumably this code was doing nothing * Filter out pushers with corrupt data When we get a row with unparsable json, drop the row, rather than returning a row with null `data`, which will then cause an explosion later on. * Improve logging when we can't start a pusher Log the ID to help us understand the problem * Make email pusher setup more robust We know we'll have a `data` member, since that comes from the database. What we *don't* know is if that is a dict, and if that has a `brand` member, and if that member is a string. | ||||
* | Update black to 19.10b0 (#6304) | Amber Brown | 2019-11-01 | 1 | -3/+1 |
| | | | * update version of black and also fix the mypy config being overridden | ||||
* | Replace returnValue with return (#5736) | Amber Brown | 2019-07-23 | 1 | -3/+3 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 1 | -44/+53 |
| | |||||
* | Add test | Erik Johnston | 2019-06-07 | 1 | -7/+23 |
| | |||||
* | Make starting pushers faster during start up | Erik Johnston | 2019-04-02 | 1 | -4/+24 |
| | | | | | | | | | | | We start all pushers on start up and immediately start a background process to fetch push to send. This makes start up incredibly painful when dealing with many pushers. Instead, let's do a quick fast DB check to see if there *may* be push to send and only start the background processes for those pushers. We also stagger starting up and doing those checks so that we don't try and handle all pushers at once. | ||||
* | Add missing return | Erik Johnston | 2019-02-22 | 1 | -0/+1 |
| | |||||
* | Correctly handle PusherConfigException | Erik Johnston | 2019-02-22 | 1 | -0/+9 |
| | |||||
* | bail out early in on_new_receipts if no pushers (#4706) | Richard van der Hoff | 2019-02-21 | 1 | -0/+8 |
| | |||||
* | Fix start_pushers vs _start_pushers confusion | Richard van der Hoff | 2018-10-24 | 1 | -3/+3 |
| | |||||
* | Run PusherPool.start as a background process | Richard van der Hoff | 2018-10-22 | 1 | -5/+7 |
| | | | | | We don't do anything with the result, so this is needed to give this code a logcontext. | ||||
* | Make on_started synchronous too | Richard van der Hoff | 2018-10-22 | 1 | -2/+14 |
| | | | | | | This brings it into line with on_new_notifications and on_new_receipts. It requires a little bit of hoop-jumping in EmailPusher to load the throttle params before the first loop. | ||||
* | Remove redundant run_as_background_process() from pusherpool | Richard van der Hoff | 2018-10-22 | 1 | -40/+7 |
| | | | | | | | `on_new_notifications` and `on_new_receipts` in `HttpPusher` and `EmailPusher` now always return synchronously, so we can remove the `defer.gatherResults` on their results, and the `run_as_background_process` wrappers can be removed too because the PusherPool methods will now complete quickly enough. | ||||
* | move get_all_pushers call down | Richard van der Hoff | 2018-10-22 | 1 | -3/+9 |
| | | | | simplifies the interface to _start_pushers | ||||
* | Factor PusherPool._start_pusher out of _start_pushers | Richard van der Hoff | 2018-10-22 | 1 | -18/+33 |
| | | | | | ... and use it from start_pusher_by_id. This mostly simplifies start_pusher_by_id. | ||||
* | Rename _refresh_pusher | Richard van der Hoff | 2018-10-22 | 1 | -2/+3 |
| | | | | | This is public (or at least, called from outside the class), so ought to have a better name. | ||||
* | Fix logcontexts for running pushers | Richard van der Hoff | 2018-08-17 | 1 | -2/+15 |
| | | | | | | | First of all, avoid resetting the logcontext before running the pushers, to fix the "Starting db txn 'get_all_updated_receipts' from sentinel context" warning. Instead, give them their own "background process" logcontexts. | ||||
* | Remove run_on_reactor (#3395) | Amber Brown | 2018-06-14 | 1 | -3/+0 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_background | Richard van der Hoff | 2018-04-27 | 1 | -2/+6 |
|\ | |||||
| * | Add missing consumeErrors | Richard van der Hoff | 2018-04-27 | 1 | -2/+6 |
| | | | | | | | | | | In general we want defer.gatherResults to consumeErrors, rather than having exceptions hanging around and getting logged as CRITICAL unhandled errors. | ||||
* | | Use run_in_background in preference to preserve_fn | Richard van der Hoff | 2018-04-27 | 1 | -8/+12 |
|/ | | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object. | ||||
* | Remove pushers when deleting access tokens | Richard van der Hoff | 2017-11-29 | 1 | -9/+15 |
| | | | | | Whenever an access token is invalidated, we should remove the associated pushers. | ||||
* | Remove preserve_context_over_{fn, deferred} | Richard van der Hoff | 2017-11-14 | 1 | -3/+3 |
| | | | | | Both of these functions ae known to leak logcontexts. Replace the remaining calls to them and kill them off. | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -3/+3 |
| | | | | what could possibly go wrong | ||||
* | Only load jinja2 templates once | Erik Johnston | 2017-05-22 | 1 | -3/+4 |
| | | | | | Instead of every time a new email pusher is created, as loading jinja2 templates is slow. | ||||
* | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -5/+7 |
| | |||||
* | Refactor user_delete_access_tokens. Invalidate get_user_by_access_token to ↵ | Erik Johnston | 2016-08-15 | 1 | -4/+4 |
| | | | | slaves. | ||||
* | Unused import | David Baker | 2016-05-04 | 1 | -1/+0 |
| | |||||
* | Catch all exceptions when creating a pusher | David Baker | 2016-05-04 | 1 | -2/+2 |
| | |||||
* | Add an email pusher for new users | David Baker | 2016-04-29 | 1 | -0/+1 |
| | | | | If they registered with an email address and email notifs are enabled on the HS | ||||
* | Optionally split out the pushers into a separate process | Mark Haines | 2016-04-21 | 1 | -0/+4 |
| | |||||
* | Unused member variable | David Baker | 2016-04-12 | 1 | -1/+0 |
| | |||||
* | indenting | David Baker | 2016-04-07 | 1 | -1/+1 |
| | |||||
* | defer.gatherResults rather than doing all the pokes in series | David Baker | 2016-04-07 | 1 | -2/+16 |
| | |||||
* | Send badge count pushes. | David Baker | 2016-04-07 | 1 | -1/+19 |
| | | | | Also fix bugs with retrying. | ||||
* | Make pushers use the event_push_actions table instead of listening on an ↵ | David Baker | 2016-04-06 | 1 | -34/+41 |
| | | | | | | | event stream & running the rules again. Sytest passes, but remaining to do: * Make badges work again * Remove old, unused code | ||||
* | Make select more sensible when dseleting access tokens, rename pusher ↵ | David Baker | 2016-03-11 | 1 | -1/+1 |
| | | | | deletion to match access token deletion and make exception arg optional. | ||||
* | Fix cache invalidation so deleting access tokens (which we did when changing ↵ | David Baker | 2016-03-11 | 1 | -4/+4 |
| | | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54 | ||||
* | Fix relative imports so they work in both py3 and py27 | Mark Haines | 2016-03-08 | 1 | -1/+1 |
| | |||||
* | Remove dead code for setting device specific rules. | Mark Haines | 2016-02-18 | 1 | -28/+20 |
| | | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code. | ||||
* | Fix up logcontexts | Erik Johnston | 2016-02-08 | 1 | -4/+5 |
| | |||||
* | Merge branch 'develop' into push_badge_counts | David Baker | 2016-01-19 | 1 | -13/+13 |
|\ | |||||
| * | Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵ | Mark Haines | 2016-01-13 | 1 | -15/+15 |
| | | | | | | | | of the code | ||||
* | | Use the unread notification count to send accurate badge counts in push ↵ | David Baker | 2016-01-13 | 1 | -15/+0 |
|/ | | | | notifications. | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Simplify LoginHander and AuthHandler | Daniel Wagner-Hall | 2015-08-12 | 1 | -7/+4 |
| | | | | | | | | | * Merge LoginHandler -> AuthHandler * Add a bunch of documentation * Improve some naming * Remove unused branches I will start merging the actual logic of the two handlers shortly | ||||
* | Also log when we've started pushers | Erik Johnston | 2015-04-29 | 1 | -0/+2 |
| | |||||
* | Only start pushers when synapse has fully started | Erik Johnston | 2015-04-29 | 1 | -3/+0 |
| | |||||
* | Start pushers on reactor thread | Erik Johnston | 2015-04-29 | 1 | -0/+3 |
| | |||||
* | Decode the data json in the storage layer (was moved but this part was missed) | David Baker | 2015-04-29 | 1 | -1/+5 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into postgres | Erik Johnston | 2015-04-28 | 1 | -15/+61 |
|\ | |||||
| * | pep8 | David Baker | 2015-03-26 | 1 | -2/+4 |
| | | |||||
| * | Delete pushers when changing password | David Baker | 2015-03-26 | 1 | -2/+18 |
| | | |||||
| * | pep8 blank lines | David Baker | 2015-03-25 | 1 | -1/+0 |
| | | |||||
| * | Allow multiple pushers for a single app ID & pushkey, honouring the 'append' ↵ | David Baker | 2015-03-25 | 1 | -10/+37 |
| | | | | | | | | flag in the API. | ||||
| * | 1) Pushers are now associated with an access token | David Baker | 2015-03-24 | 1 | -4/+5 |
| | | | | | | | | 2) Change places where we mean unauthenticated to 401, not 403, in C/S v2: hack so it stays as 403 in v1 because web client relies on it. | ||||
* | | Move encoding and decoding of JSON into storage layer | Erik Johnston | 2015-04-16 | 1 | -7/+1 |
|/ | |||||
* | Use encode_canonical_json for pushes | Erik Johnston | 2015-02-11 | 1 | -1/+3 |
| | |||||
* | Blunty replace json with simplejson | Erik Johnston | 2015-02-11 | 1 | -1/+1 |
| | |||||
* | s/instance_handle/profile_tag/ | David Baker | 2015-02-03 | 1 | -6/+6 |
| | |||||
* | Code style fixes. | Mark Haines | 2015-01-29 | 1 | -1/+1 |
| | |||||
* | Easy on the newlines | David Baker | 2015-01-28 | 1 | -1/+0 |
| | |||||
* | 2015 | David Baker | 2015-01-28 | 1 | -1/+1 |
| | |||||
* | Unused import | David Baker | 2015-01-28 | 1 | -1/+0 |
| | |||||
* | Reset badge count to zero when last active time is bumped | David Baker | 2015-01-28 | 1 | -0/+17 |
| | |||||
* | add instance_handles to pushers so we have a way to refer to them even if ↵ | David Baker | 2015-01-20 | 1 | -3/+6 |
| | | | | the push token changes. | ||||
* | Require device language when adding a pusher. | David Baker | 2015-01-16 | 1 | -3/+5 |
| | | | | | Because this seems like it might be useful to do sooner rather than later. | ||||
* | Honour the 'rejected' return from push gateways | David Baker | 2015-01-13 | 1 | -0/+12 |
| | | | | | | | Add a timestamp to push tokens so we know the last time they we got them from the device. Send it to the push gateways so it can determine whether its failure is more recent than the token. Stop and remove pushers that have been rejected. | ||||
* | after a few rethinks, a working implementation of pushers. | David Baker | 2014-12-18 | 1 | -21/+26 |
| | |||||
* | Update to app_id / app_instance_id (partially) and mangle to be PEP8 compliant. | David Baker | 2014-12-03 | 1 | -29/+46 |
| | |||||
* | More work on pushers. Attempt to do HTTP pokes. Not sure if the actual HTTP ↵ | David Baker | 2014-11-21 | 1 | -2/+6 |
| | | | | pokes work or not yet but the retry semantics are pretty good. | ||||
* | Start creating a module to do generic notifications (just prints them to ↵ | David Baker | 2014-11-19 | 1 | -0/+94 |
stdout currently!) |