fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fab-user] Parallelism & Windows


From: Nathan Brazil
Subject: [Fab-user] Parallelism & Windows
Date: Tue, 28 Aug 2012 07:09:50 -0700

Hi.  Does the parallel execution feature work under Windows?  Specifically, I am running Fabric 1.4.3 under Windows 2008 R2 and Python 2.7.2, 64-bit.

When I try a simple task to fetch the hostname of each server in a given role, I get an error (see below).  Once I comment out the @parallel decorator, it works fine, albeit serially.

@task
@parallel
def hostnames():

    run('hostname')

--

C:\> fab -R app windows.misc.hostnames
[192.168.1.1] Executing task 'windows.misc.hostnames'
[192.168.1.2] Executing task 'windows.misc.hostnames'
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\fabric\main.py", line 717, in main
    *args, **kwargs
  File "C:\Python27\lib\site-packages\fabric\tasks.py", line 320, in execute
    ran_jobs = jobs.run()
  File "C:\Python27\lib\site-packages\fabric\job_queue.py", line 133, in run
    _advance_the_queue()
  File "C:\Python27\lib\site-packages\fabric\job_queue.py", line 123, in _advance_the_queue
    job.start()
  File "C:\Python27\lib\multiprocessing\process.py", line 130, in start
    self._popen = Popen(self)
  File "C:\Python27\lib\multiprocessing\forking.py", line 271, in __init__
    dump(process_obj, to_child, HIGHEST_PROTOCOL)
  File "C:\Python27\lib\multiprocessing\forking.py", line 193, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "C:\Python27\lib\pickle.py", line 224, in dump
    self.save(obj)
  File "C:\Python27\lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)
  File "C:\Python27\lib\pickle.py", line 419, in save_reduce
    save(state)
  File "C:\Python27\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python27\lib\pickle.py", line 649, in save_dict
    self._batch_setitems(obj.iteritems())
  File "C:\Python27\lib\pickle.py", line 681, in _batch_setitems
    save(v)
  File "C:\Python27\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self
  File "C:\Python27\lib\pickle.py", line 748, in save_global
    (obj, module, name))
pickle.PicklingError: Can't pickle <function inner at 0x0000000003257A58>: it's not found as fabric.tasks.inner
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\multiprocessing\forking.py", line 374, in main
    self = load(from_parent)
  File "C:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "C:\Python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
  File "C:\Python27\lib\pickle.py", line 880, in load_eof
    raise EOFError
EOFError

reply via email to

[Prev in Thread] Current Thread [Next in Thread]