This file is indexed.

/usr/share/doc/pyro/examples/distributed-computing2/dispatcher.py is in pyro-examples 1:3.14-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python
import Pyro.core
import Pyro.naming
from Pyro.errors import NamingError
from Queue import Queue

class DispatcherQueue(Pyro.core.ObjBase):
	def __init__(self):
		Pyro.core.ObjBase.__init__(self)
		self.workqueue = Queue()
		self.resultqueue = Queue()
	def putWork(self, item):
		self.workqueue.put(item)
	def getWork(self, timeout=5):
		return self.workqueue.get(block=True, timeout=timeout)
	def putResult(self, item):
		self.resultqueue.put(item)
	def getResult(self, timeout=5):
		return self.resultqueue.get(block=True, timeout=timeout)
	def workQueueSize(self):
		return self.workqueue.qsize()
	def resultQueueSize(self):
		return self.resultqueue.qsize()
		


######## main program

Pyro.core.initServer()
ns=Pyro.naming.NameServerLocator().getNS()
daemon=Pyro.core.Daemon()
daemon.useNameServer(ns)

try:
    ns.createGroup(":Distributed2")
except NamingError:
    pass
try:
	ns.unregister(":Distributed2.dispatcher")
except NamingError:
	pass
uri=daemon.connect(DispatcherQueue(),":Distributed2.dispatcher")

print "Dispatcher is ready."
daemon.requestLoop()