[ create a new paste ] login | about

Link: http://codepad.org/HxElSVRC    [ raw code | output | fork ]

Python, pasted on Dec 19:
from circuits.web import Server, Controller
# NOTE task is a PEP8 violation
from circuits.core import Worker, task, Debugger
import os


def complicated_task():
    """This is so complex I need a worker!"""

    # import time
    # time.sleep(3)

    return 'Task worker ' + str(os.getpid())


worker = Worker(process=True)


class Root(Controller):
    """The root of the application"""

    def index(self):
        """The index"""

        return 'Hello World!'

    def redirect_target(self):
        """Just a normal url handler"""

        return "Hello, you redirected to me?"

    def redirecter(self):
        """This is how a redirect works"""

        return self.redirect('/redirect_target')

    def bad_redirecter(self):
        """This is always fun!"""

        return self.redirect('/bad_redirecter')

    def sleeper(self):
        """Timer that blocks this loop, let's you see other event loops,
        pids.  Otherwise the event loop is faster then we can request
        through the browser.

        """
        import time
        time.sleep(1)

        return str(os.getpid())

    def sleep_worker(self):
        """A Worker"""

        result = yield self.call(task(complicated_task), 'worker')

        return result

        # print(next(result))
        # value_obj = next(result)
        # print(value_obj.value)

        # if result:
            # return 'Success'
        # else:
            # return 'Failure'


app_server = Server(("0.0.0.0", 9000))
(Root() + Debugger()).register(app_server)

# NOTE You must register before starting additional
# procesesses, not sure why.

app_server.start(process=True)
app_server.start(process=True)
app_server.start(process=True)

app_server.run()


Output:
1
2
3
  Line 58
    return result
SyntaxError: 'return' with argument inside generator


Create a new paste based on this one


Comments: