forked from Denvi/FlatCAM
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlatCAMPool.py
More file actions
28 lines (22 loc) · 726 Bytes
/
FlatCAMPool.py
File metadata and controls
28 lines (22 loc) · 726 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from PyQt4 import QtCore
from multiprocessing import Pool
import dill
def run_dill_encoded(what):
fun, args = dill.loads(what)
print "load", fun, args
return fun(*args)
def apply_async(pool, fun, args):
print "...", fun, args
print "dumps", dill.dumps((fun, args))
return pool.map_async(run_dill_encoded, (dill.dumps((fun, args)),))
def func1():
print "func"
class WorkerPool(QtCore.QObject):
def __init__(self):
super(WorkerPool, self).__init__()
self.pool = Pool(2)
def add_task(self, task):
print "adding task", task
# task['fcn'](*task['params'])
# print self.pool.map(task['fcn'], task['params'])
apply_async(self.pool, func1, ())