diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2010-07-13 16:33:24 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2010-07-13 16:33:24 +0000 |
| commit | 2c7e79a2bac98657a2e613ef848e8615939bfc46 (patch) | |
| tree | 9effeb2a9c3546d5c7567969341040e4ab8be419 /qpid/python/examples/README.txt | |
| parent | 33b291a4801c7467879361add250d113cf73a4e1 (diff) | |
| download | qpid-python-2c7e79a2bac98657a2e613ef848e8615939bfc46.tar.gz | |
removed old python examples
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@963786 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/examples/README.txt')
| -rw-r--r-- | qpid/python/examples/README.txt | 335 |
1 files changed, 29 insertions, 306 deletions
diff --git a/qpid/python/examples/README.txt b/qpid/python/examples/README.txt index bd30b2a6f4..50bb0a8c9b 100644 --- a/qpid/python/examples/README.txt +++ b/qpid/python/examples/README.txt @@ -1,319 +1,42 @@ -Running the Python Examples -============================ +The Python Examples +=================== +README.txt -- This file. -Running the Direct Examples ----------------------------- +api -- Directory containing drain, spout, + sever, hello, and hello_xml examples. -To run the direct examples, do the following: +api/drain -- A simple messaging client that prints + messages from the source specified on + the command line. -1. Make sure that a qpidd broker is running: +api/spout -- A simple messaging client that sends + messages to the target specified on the + command line. - $ ps -eaf | grep qpidd +api/server -- An example server that process incoming + messages and sends replies. - If a broker is running, you should see the qpidd process in the output of the above command. -2.Declare a message queue and bind it to an exchange by running declare_queues.py, as follows: +api/hello -- An example client that sends a message + and then receives it. - $ python declare_queues.py +api/hello_xml -- An example client that sends a message + to the xml exchange and then receives + it. - This program has no output. After this program has been run, all messages sent to the amq.direct exchange using the routing key routing_key are sent to the queue named message_queue. +reservations -- Directory containing an example machine + reservation system. -3.Publish a series of messages to the amq.direct exchange by running direct_producer.py, as follows: +reservations/common.py -- Utility code used by reserve, + machine-agent, and inventory scripts. - $ python direct_producer.py +reservations/reserve -- Messaging client for listing, reserving, + and releasing machines. -This program has no output; the messages are routed to the message queue, as instructed by the binding. +reservations/machine-agent -- Messaging server that tracks and reports + on the status of its host machine and + listens for reservation requests. -4. Read the messages from the message queue using direct_consumer.py or listener.py, as follows: - - $ python direct_consumer.py - - or - - $ python listener.py - -You should see the following output: - -message 0 -message 1 -message 2 -message 3 -message 4 -message 5 -message 6 -message 7 -message 8 -message 9 -That's all, folks! - - - -Running the Fanout Examples ----------------------------- - -To run the programs for the Fanout example, do the following: - -1. Make sure that a qpidd broker is running: - - $ ps -eaf | grep qpidd - -If a broker is running, you should see the qpidd process in the output of the above command. - -2. In separate windows, start two or more fanout consumers or fanout listeners as follows: - - $ python fanout_consumer.py - - or - - $ python listener.py - -These programs each create a private queue, bind it to the amq.fanout exchange, and wait for messages to arrive on their queue. - -3. In a separate window, publish a series of messages to the amq.fanout exchange by running fanout_producer.py, as follows: - - $ python fanout_producer.py - -This program has no output; the messages are routed to the message queue, as instructed by the binding. - -4. Go to the windows where you are running consumers or listeners. You should see the following output for each listener or consumer: - - message 0 - message 1 - message 2 - message 3 - message 4 - message 5 - message 6 - message 7 - message 8 - message 9 - That's all, folks! - - - -Running the Publish-Subscribe Examples ---------------------------------------- - -To run the programs for the Publish-Subscribe example, do the following: - -1. Make sure that a qpidd broker is running: - - $ ps -eaf | grep qpidd - -If a broker is running, you should see the qpidd process in the output of the above command. - -2. In separate windows, start one or more topic subscribers by running topic_subscriber.py, as follows: - - $ python topic_subscriber.py - -You will see output similar to this: - - Queues created - please start the topic producer - Subscribing local queue 'local_news' to news-53408183-fcee-4b92-950b-90abb297e739' - Subscribing local queue 'local_weather' to weather-53408183-fcee-4b92-950b-90abb297e739' - Subscribing local queue 'local_usa' to usa-53408183-fcee-4b92-950b-90abb297e739' - Subscribing local queue 'local_europe' to europe-53408183-fcee-4b92-950b-90abb297e739' - Messages on 'news' queue: - -Each topic consumer creates a set of private queues, and binds each queue to the amq.topic exchange together with a binding that indicates which messages should be routed to the queue. - -3.In another window, start the topic publisher, which publishes messages to the amq.topic exchange, as follows: - - $ python topic_publisher.py - -This program has no output; the messages are routed to the message queues for each topic_consumer as specified by the bindings the consumer created. - -4. Go back to the window for each topic consumer. You should see output like this: - - Messages on 'news' queue: - usa.news 0 - usa.news 1 - usa.news 2 - usa.news 3 - usa.news 4 - europe.news 0 - europe.news 1 - europe.news 2 - europe.news 3 - europe.news 4 - That's all, folks! - Messages on 'weather' queue: - usa.weather 0 - usa.weather 1 - usa.weather 2 - usa.weather 3 - usa.weather 4 - europe.weather 0 - europe.weather 1 - europe.weather 2 - europe.weather 3 - europe.weather 4 - That's all, folks! - Messages on 'usa' queue: - usa.news 0 - usa.news 1 - usa.news 2 - usa.news 3 - usa.news 4 - usa.weather 0 - usa.weather 1 - usa.weather 2 - usa.weather 3 - usa.weather 4 - That's all, folks! - Messages on 'europe' queue: - europe.news 0 - europe.news 1 - europe.news 2 - europe.news 3 - europe.news 4 - europe.weather 0 - europe.weather 1 - europe.weather 2 - europe.weather 3 - europe.weather 4 - That's all, folks! - - -Running the Request/Response Examples --------------------------------------- - -To run the programs for the Request/Response example, do the following: - -1. Make sure that a qpidd broker is running: - - $ ps -eaf | grep qpidd - -If a broker is running, you should see the qpidd process in the output of the above command. - -2. Run the server. - - $ python server.py - -You should see the following output: - - Request server running - run your client now. - (Times out after 100 seconds ...) - -3. In a separate window, start a client: - - $ python client.py - -You should see the following output: - - Request: Twas brillig, and the slithy toves - Request: Did gyre and gimble in the wabe. - Request: All mimsy were the borogroves, - Request: And the mome raths outgrabe. - Messages on queue: reply_to:db0f862e-6b36-4e0f-a4b2-ad049eb435ce - Response: TWAS BRILLIG, AND THE SLITHY TOVES - Response: DID GYRE AND GIMBLE IN THE WABE. - Response: ALL MIMSY WERE THE BOROGROVES, - Response: AND THE MOME RATHS OUTGRABE. - No more messages! - - -Running the XML-based Routing Examples ---------------------------------------- - -To run the programs for the XML-based Routing example, do the following: - -1. Make sure that a qpidd broker is running: - - $ ps -eaf | grep qpidd - -If a broker is running, you should see the qpidd process in the output of the above command. - -2. Declare an XML exchange and a message queue, then bind the queue to the exchange by running declare_queues.py, as follows: - - $ python declare_queues.py - -This program has no output. After this program has been run, all messages sent to the xml exchange using the routing key weather are sent to the queue named message_queue if they satisfy the conditions specified in the following XQuery, which is used in the binding: - - let $w := ./weather - return $w/station = 'Raleigh-Durham International Airport (KRDU)' - and $w/temperature_f > 50 - and $w/temperature_f - $w/dewpoint > 5 - and $w/wind_speed_mph > 7 - and $w/wind_speed_mph < 20 - -3. Publish a series of messages to the xml exchange by running xml_producer.py, as follows: - - $ python xml_producer.py - -The messages are routed to the message queue, as prescribed by the binding. Each message represents a weather report, such as this one: - - <weather> - <station>Raleigh-Durham International Airport (KRDU)</station> - <wind_speed_mph>16</wind_speed_mph> - <temperature_f>70</temperature_f> - <dewpoint>35</dewpoint> - </weather> - -4. Read the messages from the message queue using direct_consumer.py or listener.py, as follows: - - $ python xml_consumer.py - - or - - $ python listener.py - -You should see the following output: - -<weather><station>Raleigh-Durham International Airport (KRDU)</station> -<wind_speed_mph>16</wind_speed_mph><temperature_f>70</temperature_f> -<dewpoint>35</dewpoint></weather> - - -Running the Headers Examples ------------------------------ - -To run the headers examples, do the following: - -1. Make sure that a qpidd broker is running: - - $ ps -eaf | grep qpidd - - If a broker is running, you should see the qpidd process in the output of the above command. - -2.Declare a message queues and bind them to an exchange by running declare_queues.py, as follows: - - $ python declare_queues.py - - This program has no output. After this program has been run, all messages sent to the amq.match exchange with an application-header of {'class': 'first'} will be routed to the queue named "first" and messages with an application-header of {'class': 'second'} will be routed to the queue named "second". - -3.Publish a series of messages to the amq.match exchange by running headers_producer.py, as follows: - - $ python headers_producer.py - -This program has no output; the messages are routed to the message queues, as instructed by the bindings. - -4. Read the messages from the message queues using headers_consumer.py as follows: - - $ python headers_consumer.py - -You should see the following output: - -message(first) 0 -message(first) 1 -message(first) 2 -message(first) 3 -message(first) 4 -message(first) 5 -message(first) 6 -message(first) 7 -message(first) 8 -message(first) 9 -That's all, folks! -message(second) 0 -message(second) 1 -message(second) 2 -message(second) 3 -message(second) 4 -message(second) 5 -message(second) 6 -message(second) 7 -message(second) 8 -message(second) 9 -That's all, folks! +reservations/inventory -- Messaging server that tracks the last + known status of machines. |
