Skip to content

Instantly share code, notes, and snippets.

@braoru
Created September 29, 2016 09:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save braoru/fa4fdedf2fa51c9db2fb62ad5a62894d to your computer and use it in GitHub Desktop.
Save braoru/fa4fdedf2fa51c9db2fb62ad5a62894d to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import logging
import time
import datetime
from circuits import Component, Debugger, Event, Manager, task, ipc
# Settings
##
# Logging
logging.basicConfig(
format='%(asctime)s %(name)s %(levelname)s %(process)d %(funcName)s() %(message)s',
datefmt='%m/%d/%Y %I:%M:%S %p'
)
logger = logging.getLogger("test")
logger.setLevel(logging.DEBUG)
class subdeploy(Event):
"""subdeploy Event"""
class defered_call(Event):
"""subdeploy Event"""
class TopComponent(Component):
channel = "X"
def init(self):
logger.info("TopComponent")
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
self.sub = SubComponent().start(
process=False,
link=self
)
def started(self, component):
logger.info("TopComponent")
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
def defered_call(self):
logger.info("TopComponent")
y = yield self.call(subdeploy())
z = y.value
return z
class SubComponent(Component):
def started(self, component):
logger.info("SubComponent")
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
def subdeploy(self):
logger.info("SubComponent")
if __name__ == '__main__':
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
component = TopComponent()
Debugger().register(component)
component.start(process=True)
component.fire(defered_call())
component.flush()
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
time.sleep(4)
component.fire(defered_call())
component.flush()
logger.info(
datetime.datetime.time(datetime.datetime.now())
)
component.stop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment