本文整理汇总了Python中worker.Worker类的典型用法代码示例。如果您正苦于以下问题:Python Worker类的具体用法?Python Worker怎么用?Python Worker使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Worker类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: MainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.worker = None
self.statusBar().showMessage('ready')
self.resize(250, 150)
self.move(300, 300)
self.setWindowTitle('刷起来')
self.setWindowIcon(QIcon('icon.ico'))
self.imagesPath = "./images/tp14/"
self.toolBar = self.addToolBar('')
GameStatus().window = self
yaoguaifaxian_action = QAction(QIcon('./images/ui/yaoguaifaxian.jpg'), '妖怪发现', self)
yaoguaifaxian_action.triggered.connect(self.yaoguaifaxian)
exit_action = QAction(QIcon('./images/ui/exit.png'), '停止', self)
exit_action.setShortcut('Ctrl+Q')
exit_action.triggered.connect(self.stop_loop)
self.toolBar.addAction(yaoguaifaxian_action)
self.toolBar.addAction(exit_action)
txt = QTextBrowser()
txt.setContentsMargins(5, 5, 5, 5)
self.setCentralWidget(txt)
self.show()
def add_text(self, text):
self.centralWidget().append(text)
sb = self.centralWidget().verticalScrollBar()
sb.setValue(sb.maximum())
print(text)
def closeEvent(self, *args, **kwargs):
self.stop_loop()
print("关闭程序")
def status_changed(self):
if self.worker is None:
self.statusBar().showMessage("就绪。")
elif self.worker.stopped():
self.statusBar().showMessage("已停止。")
else:
self.statusBar().showMessage("当前次数: " + str(self.worker.cnt))
def yaoguaifaxian(self):
if self.worker is not None and not self.worker.stopped():
return
self.worker = Worker(self.imagesPath)
GameStatus().game_stage = GameStage.Yaoguaifaxian
self.worker.start()
def stop_loop(self):
if self.worker is None:
return
self.worker.stop()
开发者ID:lamaaa,项目名称:yinyangshi,代码行数:60,代码来源:MainWindow.py
示例2: test_thread_safe
def test_thread_safe(self):
"""
These tests are related to:
http://stackoverflow.com/q/3752618
I'm not even sure if these tests are correct.
"""
from worker import Worker
with self.subTest("one-time listener"):
a = Worker().start()
@a.listen("test")
def handler(event):
a.unlisten(handler)
a.fire("test")
a.stop().join()
self.assertNotIn(handler, a.listener_pool)
self.assertEqual(a.listeners.get("test", []), [])
with self.subTest("add listener in listener callback"):
a = Worker().start()
@a.listen("test")
def _(event):
@a.listen("test")
def _(event):
pass
a.fire("test")
a.stop().join()
self.assertEqual(len(a.listeners.get("test", [])), 2)
开发者ID:eight04,项目名称:pyWorker,代码行数:29,代码来源:test.py
示例3: test_failed_job_machine_removal
def test_failed_job_machine_removal(self):
from consuela import Consuela
from job import Job
from worker import Worker
with mock.patch('consuela.terminate_worker') as worker_mock:
cleaner = Consuela()
cleaner.job_pub_sub = mock.MagicMock()
cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}]
worker = Worker(None, None)
worker.instance = 'some'
cleaner.get_worker = mock.MagicMock()
cleaner.get_worker.return_value = 'id', worker
cleaner.client = mock.MagicMock()
cleaner.client.exists.return_value = True
cleaner.client.get.return_value = pickle.dumps(Job('failed', 'something'))
cleaner.settings = mock.MagicMock()
cleaner.settings.recycle_workers = True
cleaner.recycle_worker = mock.MagicMock()
cleaner.recycle_worker.return_value = False
cleaner.run()
assert cleaner.client.exists.call_count == 1
assert worker_mock.call_count == 0
开发者ID:Deltares,项目名称:dcs,代码行数:26,代码来源:ilm_tests.py
示例4: fork_all
def fork_all(self):
"""Create a fork for each worker. The number of workers per tube is
specified in the tubes list passed to the constructor.
"""
error_actions = ErrorActions(self.config['error_codes'])
pids = []
self.info('Parent process started with pid {}'.format(os.getpid()))
for tube_config in self.config['tubes']:
try: worker_count = tube_config['workers']
except KeyError: worker_count = 1
for i in range(worker_count):
# fork the current process. The parent and the child both continue
# from this point so we need to make sure that only the child
# process adds workers to the pool.
pid = os.fork()
if pid == 0:
# child process
self.info('Child process started with pid {} on tube "{}"'.format(os.getpid(), tube_config['name']))
worker = Worker(os.getpid(), tube_config, self.config['connection'], error_actions)
worker.watch()
sys.exit()
else:
pids.append(pid)
for pid in pids:
os.waitpid(pid, 0)
self.info("Worker {} has exited.".format(pid))
开发者ID:sebgregoire,项目名称:beandispenser,代码行数:34,代码来源:beandispenser.py
示例5: test_request_to_booted
def test_request_to_booted(self):
self.aws_mock.my_booted_machine = mock.MagicMock()
self.aws_mock.my_booted_machine.return_value = 'instance', 'ip'
from machine_midwife import MachineMidwife
Apprentice = MachineMidwife.Apprentice
from job import Job
from worker import Worker
apprentice = Apprentice()
apprentice.settings = mock.MagicMock()
apprentice.settings.aws_req_max_wait = 10
apprentice.client = mock.MagicMock()
apprentice.client.exists.return_value = True
job = Job('requested', 'batch-')
worker = Worker(None, None)
worker.reservation = 'some'
worker.request_time = datetime.now() - timedelta(minutes=5)
apprentice.client.keys.return_value = ['jm-']
apprentice.client.get.side_effect = [pickle.dumps(worker), pickle.dumps(job)]
apprentice.client.set = mock.MagicMock()
apprentice.client.publish = mock.MagicMock()
apprentice.check_newborn()
assert apprentice.client.keys.call_count == 1
assert apprentice.client.get.call_count == 2
assert apprentice.client.set.call_count == 2
assert apprentice.client.publish.call_count == 1
assert pickle.loads(apprentice.client.set.call_args_list[0][0][1]).instance == 'instance'
assert pickle.loads(apprentice.client.set.call_args_list[1][0][1]).state == 'booted'
开发者ID:Deltares,项目名称:dcs,代码行数:32,代码来源:ilm_tests.py
示例6: test_normal_machine_recycle
def test_normal_machine_recycle(self):
from consuela import Consuela
from job import Job
from worker import Worker
cleaner = Consuela()
cleaner.job_pub_sub = mock.MagicMock()
cleaner.job_pub_sub.listen.return_value = [{'data': 'test'}]
worker = Worker(None, None)
worker.instance = 'some'
cleaner.get_worker = mock.MagicMock()
cleaner.get_worker.return_value = 'id', worker
cleaner.client = mock.MagicMock()
cleaner.client.exists.return_value = True
cleaner.client.get.return_value = pickle.dumps(Job('finished', 'something'))
cleaner.settings = mock.MagicMock()
cleaner.settings.recycle_workers = True
cleaner.recycle_worker = mock.MagicMock()
cleaner.recycle_worker.return_value = True
cleaner.run()
assert cleaner.client.exists.call_count == 1
assert cleaner.client.get.call_count == 1
assert pickle.loads(cleaner.client.set.call_args_list[0][0][1]).job_id is None
开发者ID:Deltares,项目名称:dcs,代码行数:25,代码来源:ilm_tests.py
示例7: test_delayed_machine_state_flow_for_requested_with_recycle
def test_delayed_machine_state_flow_for_requested_with_recycle(self):
from machine_midwife import MachineMidwife
from job import Job
from worker import Worker
midwife = MachineMidwife()
midwife.apprentice = mock.MagicMock()
midwife.settings = mock.MagicMock()
midwife.client = mock.MagicMock()
midwife.job_pub_sub = mock.MagicMock()
midwife.job_pub_sub.listen.return_value = [{'data': 'test'}]
midwife.client.exists.return_value = True
job = Job('delayed', 'batch-')
worker = Worker(None, 'batch-')
worker.reservation = 'reservation'
worker.request_time = datetime.now()
midwife.client.keys.return_value = ['jm-']
midwife.client.get.side_effect = [pickle.dumps(job), pickle.dumps(worker)]
midwife.client.set = mock.MagicMock()
midwife.client.publish = mock.MagicMock()
midwife.run()
assert midwife.client.exists.call_count == 2
assert len(midwife.client.set.call_args_list) == 2
assert pickle.loads(midwife.client.set.call_args_list[0][0][1]).job_id == 'test'
assert pickle.loads(midwife.client.set.call_args_list[1][0][1]).state == 'booted'
开发者ID:Deltares,项目名称:dcs,代码行数:27,代码来源:ilm_tests.py
示例8: test_no_wake_up_call_for_delayed
def test_no_wake_up_call_for_delayed(self):
from machine_midwife import MachineMidwife
Apprentice = MachineMidwife.Apprentice
from job import Job
from worker import Worker
apprentice = Apprentice()
apprentice.settings = mock.MagicMock()
apprentice.settings.max_instances = 1
apprentice.client = mock.MagicMock()
apprentice.client.exists.return_value = True
job = Job('delayed', 'batch-')
apprentice.client.keys.side_effect = [['jm-1', 'jm-2'], ['job-']]
w1 = Worker(None, None)
w1.instance = 'a'
w2 = Worker(None, None)
w2.instance = 'b'
apprentice.client.get.side_effect = [pickle.dumps(w1), pickle.dumps(w2), pickle.dumps(job)]
apprentice.client.publish = mock.MagicMock()
apprentice.rise_and_shine()
assert apprentice.client.keys.call_count == 2
assert apprentice.client.get.call_count == 3
assert apprentice.client.publish.call_count == 0
开发者ID:Deltares,项目名称:dcs,代码行数:25,代码来源:ilm_tests.py
示例9: Controller
class Controller(Parent):
def models(self):
self.workers = Worker(self.config)
# BELOW THIS LINE ARE ALL CONTROLLER ACTIONS
def new(self, body, resp):
worker = self.workers.new()
machine = ProcHandler(self.config, Writer(self.config))
machine.start()
worker.CONTROLQUEUE = machine.stopqueue
worker.OUTPUTQUEUE = machine.subproc.queue
self.workers.save(worker)
resp.respond(worker.OUTPUTQUEUE)
def delete(self, body, resp):
worker = self.workers.find(body.data)
pub = SimplePublisher(
''. self.config['Rabbit']['host'],
self.config['Rabbit']['username'],
self.config['Rabbit']['passwords'])
pub.publish_msg(self, 'STOP', work.CONTROLQUEUE)
resp.respond('DELETED')
开发者ID:bradleyjones,项目名称:apiary,代码行数:29,代码来源:controller.py
示例10: do_request
def do_request( conn ):
## Envoi d'un message d'invite
logger.info("demarrage d'une requete")
conn.send("Ok send your job")
run = False
logger.info("Attente du job")
try:
j = conn.recv()
run = True
except:
logger.info("Probleme reception job")
## ya pas eu d'erreur
if run:
logger.info("Reception du job %s " % j)
if isinstance(j, Job):
conn.send('Job receive')
logger.info("Creation Worker")
w = Worker(j)
logger.info("Lancement Worker")
w.work()
logger.info("Worker fini")
conn.send('Job finish sending result ')
conn.send(j)
conn.send('result transmit')
conn.send('OK see you soon')
conn.close()
else:
logger.info("Erreur not a job %s " % j)
conn.send('Error not a job')
conn.close()
开发者ID:chrislyon,项目名称:my-ordo-project,代码行数:31,代码来源:agent.py
示例11: startWorker
def startWorker(self, featureCollection, attributes, pointProvider=None, hexagonProvider=None):
# create a new worker instance
worker = Worker(featureCollection, attributes, pointProvider, hexagonProvider)
# configure the QgsMessageBar
messageBar = self.iface.messageBar().createMessage('Reading IMAER data...', )
progressBar = QtGui.QProgressBar()
progressBar.setAlignment(QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
progressBar.setMinimum(0)
progressBar.setMaximum(100)
progressBar.setTextVisible(True)
cancelButton = QtGui.QPushButton()
cancelButton.setText('Cancel')
cancelButton.clicked.connect(worker.kill)
messageBar.layout().addWidget(progressBar)
messageBar.layout().addWidget(cancelButton)
self.iface.messageBar().pushWidget(messageBar, self.iface.messageBar().INFO)
self.messageBar = messageBar
self.progressBar = progressBar
# start the worker in a new thread
thread = QtCore.QThread(self)
worker.moveToThread(thread)
worker.finished.connect(self.workerFinished)
worker.error.connect(self.workerError)
worker.progress.connect(self.updateProgress)
thread.started.connect(worker.run)
thread.start()
self.thread = thread
self.worker = worker
开发者ID:opengeogroep,项目名称:AERIUS-QGIS-plugins,代码行数:31,代码来源:imaer_reader_dialog.py
示例12: __init__
def __init__(self, node_id, data):
"""
Constructor.
@type node_id: Integer
@param node_id: the unique id of this node; between 0 and N-1
@type data: List of Integer
@param data: a list containing this node's data
"""
self.node_id = node_id
self.data = data
# temporary buffer for needed for scatter
self.copy = data[:]
self.lock_copy = Lock()
self.nodes = None
self.lock_data = Lock()
# list of threads (in this case 16 fo each node)
self.thread_list = []
# list with tasks that need to be computed
self.thread_pool = []
self.mutex = Lock()
# condition used for put and get
self.condition = Condition(self.mutex)
# condition needed for checking if there are
# still tasks that need o be solved
self.all_tasks_done = Condition(self.mutex)
# number of unfinished tasks
self.unfinished_tasks = 0
# start the 16 threads
for i in range(16):
th = Worker(self, i)
self.thread_list.append(th)
th.start()
开发者ID:ClaudiaRogoz,项目名称:Cluster-Simulation,代码行数:34,代码来源:node.py
示例13: stop
def stop(self, force = True):
"""
Stops all modules and shuts down the manager.
"""
self.log().debug("Stopping")
self.stopModules()
Worker.stop(self, force)
开发者ID:mumble-voip,项目名称:mumo,代码行数:7,代码来源:mumo_manager.py
示例14: main
def main():
w = Worker('1133079545973309867')
songs = w.get_songs()
print "\n".join([x.simple_info() for x in songs])
print '================='
print "\n".join([x.detail_info() for x in songs])
开发者ID:gaoxuesong,项目名称:duomi_songs,代码行数:8,代码来源:dmsl.py
示例15: run
def run(self):
# set thread ID
self.tid = self._Thread__ident
try:
Worker.run(self)
finally:
# invalidate thread ID
self.tid = None
开发者ID:gullpong,项目名称:collabo,代码行数:8,代码来源:thread_worker.py
示例16: test_getzipfile
def test_getzipfile(self):
conf = self.get_conf()
w = Worker(conf)
p = w.get_zipfile("http://localhost:9000/download/test.zip",
conf['app']['internaltoken'],
"/tmp/")
assert p == "/tmp/test.zip"
assert os.path.exists("/tmp/test.zip")
开发者ID:shirou,项目名称:menes,代码行数:8,代码来源:test_worker.py
示例17: work
def work(nbetapes):
while len(Worker.workers) != 0 and Worker.time < nbetapes:
# tant que ce n'est pas vide
# print(Worker.time)
Worker.pop()
G = net1.to_graph()
#G.layout()
G.draw("figures/RCetape{0}.png".format(Worker.time))
开发者ID:Nadrieril,项目名称:psc,代码行数:8,代码来源:__init__.py
示例18: worker
def worker(loop):
worker = Worker(loop)
task = loop.create_task(worker.work_loop())
yield worker
worker.redis.close()
task.cancel()
开发者ID:samuelcolvin,项目名称:generator,代码行数:8,代码来源:conftest.py
示例19: console_download
def console_download(url, savepath):
"""Download url to savepath."""
from worker import Worker
from .core import Mission, download, analyze
mission = Mission(url=url)
Worker.sync(analyze, mission, pass_instance=True)
Worker.sync(download, mission, savepath, pass_instance=True)
开发者ID:v7368858,项目名称:ComicCrawler,代码行数:8,代码来源:__init__.py
示例20: init_workers
def init_workers():
global mail
global workers
with app.app_context():
mail.init_app(app)
worker = Worker(app, mail)
# start the thread
worker.start()
workers.append(worker)
开发者ID:hanson2010,项目名称:restful-email,代码行数:9,代码来源:app.py
注:本文中的worker.Worker类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论