def main(options): verbose = options['verbose'] worker_creator = WorkerCreator(options.vumi_options) worker_creator.create_worker_by_class(MessageInjector, options) in_file = sys.stdin out_file = sys.stdout if verbose else None worker = yield MessageInjector.WORKER_QUEUE.get() yield worker.process_file(in_file, out_file) reactor.stop()
def main(options): verbose = options['verbose'] worker_creator = WorkerCreator(options.vumi_options) worker_creator.create_worker_by_class( MessageInjector, options) in_file = sys.stdin out_file = sys.stdout if verbose else None worker = yield MessageInjector.WORKER_QUEUE.get() yield worker.process_file(in_file, out_file) reactor.stop()
def main(options): vumi_options = {} verbose = options['verbose'] for opt in [i[0] for i in Options.optParameters]: vumi_options[opt] = options.pop(opt) worker_creator = WorkerCreator(vumi_options) worker_creator.create_worker_by_class( MessageInjector, options) in_file = sys.stdin out_file = sys.stdout if verbose else None worker = yield MessageInjector.WORKER_QUEUE.get() yield worker.process_file(in_file, out_file) reactor.stop()
def main(options): worker_creator = WorkerCreator(options.vumi_options) service = worker_creator.create_worker_by_class( ContactMigrationWorker, options.get_vumigo_config()) service.startService() worker = yield ContactMigrationWorker.WORKER_QUEUE.get() yield worker.migrate_contacts_for_account(options['user-account-key']) reactor.stop()
def main(options): worker_creator = WorkerCreator(options.vumi_options) service = worker_creator.create_worker_by_class( ContactMigrationWorker, options.get_vumigo_config()) service.startService() worker = yield ContactMigrationWorker.WORKER_QUEUE.get() yield worker.migrate_contacts_for_account(options['user-account-key']) reactor.stop()
def main(options): worker_creator = WorkerCreator(options.vumi_options) service = worker_creator.create_worker_by_class( JsBoxSendWorker, options.get_vumigo_config()) service.startService() worker = yield JsBoxSendWorker.WORKER_QUEUE.get() yield worker.send_jsbox( options['user-account-key'], options['conversation-key'], options['hz'], options['exclude-addresses-file']) reactor.stop()
def main(options): worker_creator = WorkerCreator(options.vumi_options) service = worker_creator.create_worker_by_class( JsBoxSendWorker, options.get_vumigo_config()) service.startService() worker = yield JsBoxSendWorker.WORKER_QUEUE.get() yield worker.send_jsbox(options['user-account-key'], options['conversation-key'], options['hz'], options['exclude-addresses-file']) reactor.stop()
def create_worker(self): config = self.config worker_creator = WorkerCreator({ 'hostname': config.amqp_hostname, 'port': config.amqp_port, 'username': config.amqp_username, 'password': config.amqp_password, 'vhost': config.amqp_vhost, 'specfile': config.amqp_spec, }) return worker_creator.create_worker_by_class( MetricWorker, {'prefix': config.prefix})
def run_bench(loops): opts = VumiOptions() opts.postOptions() worker_creator = WorkerCreator(opts.vumi_options) app = worker_creator.create_worker_by_class( BenchApp, { "transport_name": "dummy", "javascript": """ api.on_inbound_message = function(command) { this.request('outbound.reply_to', { content: 'reply', in_reply_to: command.msg.message_id, }, function (reply) { this.done(); }); }; """, "sandbox": { 'log': { 'cls': 'vumi.application.sandbox.LoggingResource', }, 'outbound': { 'cls': 'vumi.application.sandbox.OutboundResource', }, }, }) transport = worker_creator.create_worker_by_class( BenchTransport, { "transport_name": "dummy", }) yield transport.startService() log.msg("Waiting for transport ...") yield BenchTransport.WORKER_QUEUE.get() yield app.startService() log.msg("Waiting for worker ...") yield BenchApp.WORKER_QUEUE.get() print "Starting %d loops ..." % (loops, ) timer = Timer() for i in range(loops): with timer: transport.publish_message( content="Hi!", to_addr="+1234", from_addr="+5678", transport_type="ussd", ) reply = yield transport.message_queue.get() log.msg("Reply ID: %s" % reply['message_id']) print "Total time: %.2f" % timer.total() print "Time per message: %g" % timer.mean() print " max: %g, min: %g" % (timer.max(), timer.min()) print " loops: %d" % timer.loops() yield transport.stopService() yield app.stopService() reactor.stop()
def run_bench(loops): opts = VumiOptions() opts.postOptions() worker_creator = WorkerCreator(opts.vumi_options) app = worker_creator.create_worker_by_class(BenchApp, { "transport_name": "dummy", "javascript": """ api.on_inbound_message = function(command) { this.request('outbound.reply_to', { content: 'reply', in_reply_to: command.msg.message_id, }, function (reply) { this.done(); }); }; """, "sandbox": { 'log': { 'cls': 'vumi.application.sandbox.LoggingResource', }, 'outbound': { 'cls': 'vumi.application.sandbox.OutboundResource', }, }, }) transport = worker_creator.create_worker_by_class(BenchTransport, { "transport_name": "dummy", }) yield transport.startService() log.msg("Waiting for transport ...") yield BenchTransport.WORKER_QUEUE.get() yield app.startService() log.msg("Waiting for worker ...") yield BenchApp.WORKER_QUEUE.get() print "Starting %d loops ..." % (loops,) timer = Timer() for i in range(loops): with timer: transport.publish_message( content="Hi!", to_addr="+1234", from_addr="+5678", transport_type="ussd", ) reply = yield transport.message_queue.get() log.msg("Reply ID: %s" % reply['message_id']) print "Total time: %.2f" % timer.total() print "Time per message: %g" % timer.mean() print " max: %g, min: %g" % (timer.max(), timer.min()) print " loops: %d" % timer.loops() yield transport.stopService() yield app.stopService() reactor.stop()