Guest User

Untitled

a guest
Jul 9th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. import txamqp
  2. from twisted.internet.protocol import ClientCreator
  3. from txamqp.protocol import AMQClient
  4. from twisted.internet import defer, reactor
  5. from txamqp.content import Content
  6. from txamqp.client import TwistedDelegate
  7. import time
  8. import itertools
  9. from twisted.internet import threads
  10.  
  11.  
  12. def send(channel, content):
  13. reactor.callFromThread(channel.basic_publish, routing_key='queue', content=content)
  14. print('%s - sending: %s' % (time.ctime(), content.body))
  15.  
  16. def send_msgs_from_for_loop(channel):
  17. for i in range(10000):
  18. content = Content(str(i))
  19. send(channel, content)
  20.  
  21. @defer.inlineCallbacks
  22. def authenticate(client, username, password):
  23. yield client.authenticate(username, password)
  24. channel = yield client.channel(1)
  25. yield channel.channel_open()
  26. yield channel.queue_declare(queue='queue', auto_delete=True)
  27. reactor.callInThread(send_msgs_from_for_loop, channel)
  28.  
  29.  
  30. if __name__ == '__main__':
  31. import sys
  32. if len(sys.argv) != 7:
  33. print "%s host port vhost username password path_to_spec" % sys.argv[0]
  34. sys.exit(1)
  35.  
  36. host = sys.argv[1]
  37. port = int(sys.argv[2])
  38. vhost = sys.argv[3]
  39. username = sys.argv[4]
  40. password = sys.argv[5]
  41. specFile = sys.argv[6]
  42.  
  43. spec = txamqp.spec.load(specFile)
  44.  
  45. delegate = TwistedDelegate()
  46.  
  47. d = ClientCreator(reactor, AMQClient, delegate, vhost,
  48. spec).connectTCP(host, port)
  49. d.addCallback(authenticate, username, password)
  50. reactor.run()
Add Comment
Please, Sign In to add comment