summaryrefslogtreecommitdiff
path: root/python/examples/reservations/machine-agent
diff options
context:
space:
mode:
Diffstat (limited to 'python/examples/reservations/machine-agent')
-rwxr-xr-xpython/examples/reservations/machine-agent103
1 files changed, 0 insertions, 103 deletions
diff --git a/python/examples/reservations/machine-agent b/python/examples/reservations/machine-agent
deleted file mode 100755
index a221a8b6de..0000000000
--- a/python/examples/reservations/machine-agent
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env python
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-import optparse, socket
-from qpid.messaging import *
-from qpid.log import enable, DEBUG, WARN
-from common import *
-
-host = socket.gethostname()
-
-parser = optparse.OptionParser(usage="usage: %prog [options]",
- description="machine reservation agent")
-parser.add_option("-b", "--broker", default="localhost",
- help="connect to specified BROKER (default %default)")
-parser.add_option("-d", "--database",
- help="database file for persistent machine status")
-parser.add_option("-a", "--address", default="reservations",
- help="address for reservation requests")
-parser.add_option("-i", "--identity", default=host,
- help="resource id (default %default)")
-parser.add_option("-v", dest="verbose", action="store_true",
- help="enable verbose logging")
-
-opts, args = parser.parse_args()
-
-if opts.verbose:
- enable("qpid", DEBUG)
-else:
- enable("qpid", WARN)
-
-conn = Connection.establish(opts.broker, reconnect=True, reconnect_interval=1)
-
-
-class Agent(Dispatcher):
-
- def __init__(self, identity):
- self.identity = identity
- self.status = FREE
- self.owner = None
-
- def running(self):
- return True
-
- def get_status(self):
- msg = Message(properties = {"type": "status"},
- content = {"identity": self.identity,
- "status": self.status,
- "owner": self.owner})
- return msg
-
- def do_discover(self, msg):
- r = self.get_status()
- return [(msg.reply_to, r)]
-
- def do_reserve(self, msg):
- if self.status == FREE:
- self.owner = msg.content["owner"]
- self.status = BUSY
- return self.do_discover(msg)
-
- def do_release(self, msg):
- if self.owner == msg.content["owner"]:
- self.status = FREE
- self.owner = None
- return self.do_discover(msg)
-
- def ignored(self, msg):
- patterns = msg.properties.get("identity")
- type = msg.properties.get("type")
- if patterns and match(self.identity, patterns):
- return type == "status"
- else:
- return True
-
-try:
- ssn = conn.session()
- rcv = ssn.receiver(opts.address)
- rcv.capacity = 10
- snd = ssn.sender(opts.address)
- agent = Agent(opts.identity)
- snd.send(agent.get_status())
- agent.run(ssn)
-except KeyboardInterrupt:
- pass
-finally:
- conn.close()