Cheers Frank

Ill test this today

Howard

> On 16 Dec 2013, at 08:29, Frank Rueter <fr...@beingfrank.info> wrote:
> 
> Hola everybody,
> 
> I had a quick look at this this morning and realised I would have to re-write 
> everything from scratch - but then couldn't resists :-D.
> Could some of you test the attached file and tell me how you get on?
> Just put it into your NUKE_PATH and put this into your menu.py:
> 
>     import LocaliseThreaded
>     LocaliseThreaded.register()
> 
> 
> This will replace the default localising behaviour with a threaded     one.
> The maximum threads are half of your Nuke threads (nuke.THREADS) at the 
> moment (I will make this a preference though). There will be info about 
> concurrent threads in the progress bar as it does it's thing.
> 
> It's work in progress at this stage but since my day is coming to an end, I 
> thought it would be good to get it out there for a test run, so I know more 
> in the morning.
> 
> Things I still need/want to do:
> support split file knobs for stereo projects
> support proxy knobs (should I, not sure if the default does?)
> refactor the code so that multiple threads can tackle the same read node (at 
> the moment one Read node is allocated one task)
> benchmark the copy function (currently shutil.copy2). Pretty sure it's not 
> the fastest one for large files and I might have to roll my own to speed 
> things up.
> 
> Let me know how it works, especially if you are on windows as I can't test 
> that here.
> 
> Cheers,
> frank
> 
> P.S.: If somebody is an expert with python threading with a little bit of 
> time on their hands, get in touch, I'm pretty sure the way I'm doing this can 
> be optimised, especially for trying to dynamically allocate threads to 
> efficiently deal with outstanding tasks.
> 
> 
> 
>> On 14/12/13 23:23, Howard Jones wrote:
>> I was wondering that. It was going to be my next question (honest)
>> 
>> Howard
>> 
>>> On 14 Dec 2013, at 08:19, Thorsten Kaufmann 
>>> <thorsten.kaufm...@mackevision.de> wrote:
>>> 
>>> This also sounds like a job for "import nuke" no? ;)
>>> Thorsten Kaufmann
>>> Production Pipeline Architect
>>> ____________________________________
>>> 
>>> Mackevision Medien Design GmbH
>>> Forststra?e 7
>>> D-70174 Stuttgart
>>> 
>>> T  T  +49 711 93 30 48 78
>>> F  +49 711 93 30 48 90
>>> M +49 151 19 55 55 02
>>> 
>>> thorsten.kaufm...@mackevision.de
>>> http://www.mackevision.de
>>> 
>>> Gesch?ftsf?hrer: Armin Pohl, Joachim Lincke, Karin Suttheimer
>>> HRB 243735 Amtsgericht Stuttgart
>>> ________________________________________
>>> Von: nuke-python-boun...@support.thefoundry.co.uk 
>>> [nuke-python-boun...@support.thefoundry.co.uk] im Auftrag von Frank Rueter 
>>> [fr...@beingfrank.info]
>>> Gesendet: Samstag, 14. Dezember 2013 01:11
>>> An: Nuke Python discussion; Justin Fpc
>>> Betreff: Re: [Nuke-python] nuke localise
>>> 
>>> I have wrote my own localising script from scratch just before this feature 
>>> was implemented. I will have a peek next week if I can quickly adapt it to 
>>> use the localising settings in the preferences and nodes. If so it will be 
>>> threaded and we should get the best of both worlds until the built in 
>>> feature is more flexible to allow background processing.
>>> 
>>> Sent with AquaMail for Android
>>> http://www.aqua-mail.com
>>> 
>>> On 13 December 2013 9:58:43 PM Justin Fpc wrote:
>>> 
>>> Hi all,
>>> 
>>> I would be very interested if there is anyway to manage this localising in 
>>> background.
>>> I've also tested to use the threading method and found the same 
>>> problem/cause as Frank.
>>> 
>>> 
>>> Justin
>>> 
>>> 
>>> 2013/12/13 Howard Jones 
>>> <mrhowardjo...@yahoo.com<mailto:mrhowardjo...@yahoo.com>>
>>> Thanks for testing. That would have stumped me.
>>> 
>>> I contacted support.
>>> 
>>> Howard
>>> 
>>> On 12 Dec 2013, at 23:48, Frank Rueter 
>>> <fr...@beingfrank.info<mailto:fr...@beingfrank.info>> wrote:
>>> 
>>> I remember now:
>>> I tried this a while ago myself and failed because doLocalise() is a 
>>> wrapper function using nuke.localiseFiles which seems to be compiled.
>>> Since nuke.localiseFiles takes care of the progress bar (presumably 
>>> juggling it's own threads) it's not just a matter of using
>>> 
>>> thread = threading.Thread(target=doLocalise, args=(True,))
>>> 
>>> thread.start()
>>> 
>>> or
>>> 
>>> 
>>> thread = threading.Thread(target=nuke.localiseFiles, args=(readKnobList,))
>>> 
>>> thread.start()
>>> 
>>> 
>>> Both the above do the job, but you won't get the progress bar and the main 
>>> thread is still blocked.
>>> 
>>> There might be a way but I don't know how, other than basically writing the 
>>> localisation logic yourself.
>>> So best to push that feature request to make nuke.localiseFiles thread-able.
>>> 
>>> 
>>> Cheers,
>>> frank
>>> 
>>> 
>>> 
>>> On 13/12/13 12:15, Frank Rueter wrote:
>>> Yes, you should be able to. I have a quick peek...
>>> 
>>> On 13/12/13 11:29, Howard Jones wrote:
>>> Ok done. Out of interest can this be run in a separate thread? My python 
>>> brain hasn't got round threading, but i can run doLocalise(0) so could I 
>>> thread it instead?
>>> 
>>> Howard
>>> 
>>> On 12 Dec 2013, at 22:02, Frank Rueter 
>>> <fr...@beingfrank.info><mailto:fr...@beingfrank.info> wrote:
>>> 
>>> I have asked for this in the pas as well, so please bug support to up the 
>>> priority ;)
>>> 
>>> 
>>> On 11/12/13 05:23, Howard Jones wrote:
>>> Hi
>>> Is it possible to run localise from a shell or in the background?
>>> H
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> 
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> 
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> 
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk<mailto:Nuke-python@support.thefoundry.co.uk>,
>>>  http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>> 
>>> 
>>> _______________________________________________
>>> Nuke-python mailing list
>>> Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
>>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> _______________________________________________
>> Nuke-python mailing list
>> Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
> 
> <LocaliseThreaded.py>
> _______________________________________________
> Nuke-python mailing list
> Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to