Tags: pace-gene/nameko
Tags
AMQP refactor [remove queue consumer] (nameko#578) * split header encoding/decoding logic out into functions * checkout: simplify methodproxy by not passing worker_ctx in * checkpoint: avoid passing things down through the chain by using a partial * minor tidyup and consistency * checkpoint: standalone rpc proxy reimplemented without "queue consumer" * restore call stack and timeout implementation * test cleanup: proxy retries instead of throwing on connection errors * test cleanup: we now attempt to reconnect forever rather than throwing on the second failure * test cleanup: consumeevent no longer exists * test cleanup: we don't explicitly manage consumers anymore * test cleanup: reply listener disconnection is now very similar to rpc consumer disconnection * longer expiries to ensure queue sticks around until we consume from it * pyflakes * additional test coverage for rpc requests longer than reply queue timeouts * additional test for stopping and restarting standalone proxy * new feature: use uuid of the standalone proxy in its call stack * small refactor to pass queue into reply listener * toxiproxy controller removed "reset" function * add support for raising if reply queue expires with pending replies now that the implementation supports it (standalone rpc proxy case) * import sort * unused import * split header encoding/decoding logic out into functions * additional test coverage for rpc requests longer than reply queue timeouts * introduce "proxy" class replacing ServiceProxy and MethodProxy * squash ServiceProxy and MethodProxy into one object; simplify ReplyListener * unit test coverage for Proxy object * refactor: simplify Proxy object by passing only get_reply rather than whole reply listener * add full publisher "options" to standalone proxy * remove remaining deprecations ahead of 2.9.0 * remove unused helpers * also update docs to remove deprecated param * wait_for_worker_idle is also deprecated * merge fixes * static cleanup * checkpoint: convert messaging.Consumer to use ConsumerMixin directly; small test tweaks to accomoodate * checkpoint: RpcConsumer no longer using QueueConsumer; small test tweaks * move a couple of tests out of test_queue_consumer and into higher-level parts of the codebase * move heartbeat tests back into their own section * test tidyup * checkpoint: reply listener no longer using queue_consumer * include ReplyListener in heartbeat tests * TestDisconnectedWhileWaitingForReply can pass for the service proxy now * remove tests that are now superseded by better disconnection tests * final purge of queue consumer * remove final reference to QueueConsumer in regression test * add regression tests detecting missed heartbeat * don't block consumers on the worker pool * better implementation * checkpoint: DRY things out with a shared ConsumerMixin * tidyup * tidyup; actually include consumer core * tidyup; remove queue consumer tests * import sort * missing import * fix bad super call * fix race condition in standalone rpc proxy check for pending messages * don't need this call anymore * don't need the setters * repr no longer used * nocover entrypoint that isn't executed by test * Revert "fix race condition in standalone rpc proxy check for pending messages" This reverts commit 58e2692. * rpc proxy should redeclare reply queue in case inactive for longer than expiry time; this also fixes the race condition where disconnection-detection determines the reply queue to be expired when in fact it's still being declared (race based on how quickly rabbit responds) * use more reliable passive queue declare rather than the rabbit management api * need absolute import * drop other unreliable uses of rabbit_manager * import sort * cleaner interface for proxy/rpc-call/reply-listener; more inline docs * static fixes * add retry around queue checks to give rabbit some grace time * actually run the retried functions * refactor: use consumer as an object, not a mixin * todo tidyup: remove unnecessary conditional * todo tidyup: no need to pass serializer to responder * todo tidyup: apply patches more consistently * also remove serializer from responder tests * todo tidyup: explict method to stop consumer; it now requeues any subsequently received messages * import sort * more cleanup: remove unnecessary serializer attrs and the incorrect comment referring to kombu * can drop the complex fixture re-ordering now that we don't wait for consumers to close gracefully on kill (this has been fine since we started using a vhost per test) * add tests for new Consumer core * DRY out temporary fixture by moving it to conftest * add tests for container being killed to publisher and event dispatcher * replace existing rpc test for container being killed with one following the same pattern as other entrypoints * fix import * don't need to do this because consumer.run just executes in a managed thread; already tested elsewhere * fix imports * no cover pragmas * tiny bit more cleanup: pass options to publisher earlier * serializer arg not used by consumer * rename "options" to "publisher_options" * import sort * tests for stopping consumers with active workers * accept consumer options in amqp consuming extensions (except rpc, because they all share a consumer) * add autodoc'd modules so we check spelling * spelling fixes * restore AUTO_FIX_IMPORTS * remove HeaderEncoder, HeaderDecoder classes * serialization.setup() returning namedtuple * add comment explaining why we have to use a background thread to wait on the worker pool * be more explicit determining target service/method * speak like yoda i do * upgrade moto (nameko#577)
Merge pull request nameko#559 from davidszotten/v2.9.1rc update changelog for 2.9.1
v2.9.1-rc0 (nameko#546) * Update CHANGES * Pre-release 2.9.1-rc0
PreviousNext