Skip to content

Instantly share code, notes, and snippets.

@bloodywing
Created March 4, 2014 12:58
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 bloodywing/9346032 to your computer and use it in GitHub Desktop.
Save bloodywing/9346032 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 4 12:19:36 2014
@author: pierre
"""
from circuits import Component, handler, Debugger
from circuits.core.workers import task, Worker
from time import sleep
def hello_loop():
for i in range(0, 5):
sleep(1)
print("Hello")
class MyWorker(Component):
def init(self):
self.worker = Worker().register(self)
self.fire(task(hello_loop))
@handler("stopped")
def _on_stop(self, *args):
self.worker.unregister()
app = MyWorker() + Debugger()
app.run()
@prologic
Copy link

prologic commented Mar 4, 2014

Terminate just find on ^C here:

(circuits)
prologic@daisy
Wed Mar 05 05:35:29
~/circuits
$ python test_workers.py 
<registered[worker] (<Worker/worker 1371:MainThread (queued=0) [S]>, <MyWorker/* 1371:MainThread (queued=4) [R]> )>
<task[*] (<function hello_loop at 0x1574d70> )>
<registered[*] (<Debugger/* 1371:MainThread (queued=0) [S]>, <MyWorker/* 1371:MainThread (queued=2) [R]> )>
<started[*] (<MyWorker/* 1371:MainThread (queued=1) [R]> )>
Hello
Hello
Hello
^C<signal[*] (2, <frame object at 0x7fb690001540> )>
<stopped[*] (<MyWorker/* 1371:MainThread (queued=0) [S]> )>
Hello
Hello
<prepare_unregister[worker] (<Worker/worker 1371:MainThread (queued=0) [S]> )>
<prepare_unregister_complete[<Worker/worker 1371:MainThread (queued=0) [S]>] (<prepare_unregister[worker] (<Worker/worker 1371:MainThread (queued=0) [S]> )>, None )>
<task_success[*] (<task[*] (<function hello_loop at 0x1574d70> )>, None )>
<unregistered[worker] (<Worker/worker 1371:MainThread (queued=0) [S]>, <MyWorker/* 1371:MainThread (queued=0) [S]> )>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment