Exemplo n.º 1
0
    An example of a simple worker 
    Run as follows:
        
        from browser import webworker as ww
        w = ww.WorkerParent('web_workers/test_worker.py',[1,2,3],{"test":"Ahoj"})
        m = ww.Message('ping',"ahoj")
        r = w.post_message(m,want_reply=True)
        w.post_message(ww.Message('quit',None))
        
"""
from browser.webworker import current_worker, Message
from browser import console

from sys import argv
from os import environ

def pong(self, message, **_):
    print('Web worker received message (',message.id,')', message.name, message.data)
    current_worker.post_reply(message, Message('pong', message.data))
        
def quit(self, *args, **kwargs):
    current_worker.terminate()
        
print("Starting test worker with args:", argv, "and environment", environ)

current_worker.bind_message('ping', pong)
current_worker.bind_message('quit', quit)
current_worker.exec()
        
        
Exemplo n.º 2
0
            yield w.wait_for_status(ww.S_RUNNING)
            a = yield w.add(10,20)
            assert a == 30
            yield w.log("Test output")
        
        w = ww.RPCWorkerParent('web_workers/test_rpc.py',[1,2,3],{"USER":"******"})
        main(w)
        
"""
from browser.webworker import current_worker, Message
from browser import console

from sys import argv
from os import environ

def add(x, y):
    """Adds two numbers"""
    return x+y

def log(*args):
    print(*args)

print("Starting test RPC worker with args:", argv, "and environment", environ)

current_worker.register_method(add)
current_worker.register_method(log)
current_worker.exec()