Anthony | 1 Sep 2011 02:10
Picon

Re: testing scheduler in windows

On Windows 7 with Python 2.7, I get an immediate traceback, and then the thum's start -- but it just keeps going without getting to a "reporting task". Here's the entire output (I broke this one after 11 thum's, but ran another one for over 30 thum's):


thumnew task

starting task
Traceback (most recent call last):
  File "meta_scheduler.py", line 140, in <module>
    MetaScheduler().loop()
  File "meta_scheduler.py", line 133, in loop
    self.report_task(task,self.async(task))
  File "meta_scheduler.py", line 56, in async
    p.start()
  File "C:\Python27\lib\multiprocessing\process.py", line 104, in start
    self._popen = Popen(self)
  File "C:\Python27\lib\multiprocessing\forking.py", line 244, in __init__
    dump(process_obj, to_child, HIGHEST_PROTOCOL)
  File "C:\Python27\lib\multiprocessing\forking.py", line 167, 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\multiprocessing\forking.py", line 40, in dispatcher
    self.save_reduce(obj=obj, *rv)
  File "C:\Python27\lib\pickle.py", line 401, in save_reduce
    save(args)
  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 548, in save_tuple
    save(element)
  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
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    self._batch_setitems(obj.iteritems())
  File "C:\Python27\lib\multiprocessing\forking.py", line 347, in main
  File "C:\Python27\lib\pickle.py", line 681, in _batch_setitems
        self = load(from_parent)
save(v)
  File "C:\Python27\lib\pickle.py", line 1378, in load
  File "C:\Python27\lib\pickle.py", line 331, in save
        return Unpickler(file).load()
self.save_reduce(obj=obj, *rv)
  File "C:\Python27\lib\pickle.py", line 858, in load
  File "C:\Python27\lib\pickle.py", line 419, in save_reduce
    save(state)
  File "C:\Python27\lib\pickle.py", line 286, in save
    dispatch[key](self)
      File "C:\Python27\lib\pickle.py", line 880, in load_eof
f(self, obj) # Call unbound method with explicit self
  File "C:\Python27\lib\pickle.py", line 649, in save_dict
    raise EOFError
EOFError
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 331, in save
    self.save_reduce(obj=obj, *rv)
  File "C:\Python27\lib\pickle.py", line 396, in save_reduce
    save(cls)
  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 <type 'thread.lock'>: it's not found as thread.lock
thum
thum
thum
thum
thum
thum
thum
thum
thum
thum
thum
^C


Anthony


On Wednesday, August 31, 2011 7:39:51 PM UTC-4, Massimo Di Pierro wrote:
Trying to isolate the problem... can any windows user run the
following test for me?

get trunk
cd web2py/gluon
python2.6 meta_scheduler.py

(python 2.7 should be ok too)
you should get the following text repeated ...
--- begin ----
starting task
task started
thum
thum
thum
thum
thum
reporting task
--- end ---
after a few cycles press [ctrl+c]. Do you get a traceback? Do all new
task - reporting task pair up in the output?

Massimo

On Aug 31, 8:45 am, António Ramos <ramst...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> the -K option is only for 2.6 but with python  2.6 i have that screenshot
> with error until i break it with ctrl c
> after that the task runs only the first time and not the other 2 as your
> demo on Vimeo
>
> Thanks
>
> 2011/8/31 Massimo Di Pierro <massimo....-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>
>
>
>
>
>
>
> > Did the previous version work?
>
> > On Aug 31, 4:11 am, António Ramos <ramst... <at> gmail.com> wrote:
> > > i reported the same problem.
> > > Web2py works very well so far except this sheduler.
> > > I have windows 7 machine and python 2.6 and 2.7
>
> > > 2011/8/31 Massimo Di Pierro <massimo....-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>
> > > > Do you have these errors only with the scheduler?
> > > > Does everything else in web2py works well?
>
> > > > I am rewriting the scheduler completely but there seems problems with
> > > > the multiprocessing module.
> > > > I think the problem is due to this:
>
> > > >http://stackoverflow.com/questions/3405397/python-multiprocessing-doe.
> > ..
>
> > > > Massimo
>
> > > > On Aug 30, 11:25 pm, Brian M <bmer... <at> gmail.com> wrote:
> > > > > Similar results with a fresh install of Python 2.7.2 I don't think
> > this
> > > > is
> > > > > just due to a bad python install.

Gmane