Hi Eduardo, Before going any more detail, let me clear something, the start and end dates of a parent task is gathered from the start and end dates of the children tasks.
What you should refer to should be the "dependent task" then it is possible in Stalker (as it is in TaskJuggler), just set the dependency target to "onstart" and give a "gap duration". The following is a code snippet showing this (without the boiler plate of creating a project and other stuff): m = Task(name="Model") r = Task(name="Rig", depends=[m]) # the m.depends is a list of tasks that # this one depends to, # # where as the m.task_depends_to is # a list of TaskDependency instances # which holds the details of the # task to task relation dp = r.task_depends_to[0] dp.dependency_target = "onstart" dp.gap_timing = 4 dp.gap_unit = "d" dp.gap_model = "duration" # the default is effort which # considers the given duration # as work time, where "duration" # is calendar duration The above code will schedule the rig task so it will start after 4 calender days of the start of the model task. If we didn't change the task relation Stalker will schedule them so rig follows the end of model (at least if their resources are available on that dates). I think this answers your question. Oh, one more thing, after reading your question again I get the idea that you are refering the statuses of tasks as the driving force for the other task to start, if that is correct then I should make it clear again that task statuses are the result of other actions, they do not change anything, and it is not possible yo change the status to some certain other statuses, you should read the Task class documentation in https://pythonhosted.org/stalker/generated/stalker.models.task.Task.html#stalker.models.task.Task I mean, you do not change the task status by hand (other then on some edge conditions which are very rare and I fix them as soon as I find them), but take some actions like completing a dependent task, entering a time log or requesting a review or a revision etc. On May 11, 2014 4:22 PM, "Eduardo Grana" <[email protected]> wrote: > Hello Erkan! > > This is great. Thank you very much. > > Hope this is not too much of an off topic question, > since maybe it is more related to task juggler. > Most of the time, in the productions i work we try > to make the task as paralell as possible, so we try > to put thing in a way that when some task is started > the dependent tasks can start using as input a wip of > the parent task. Of couse, in order to finish the dependent > task, the parent task must be finished. > Is it possible to handle this 'double dependecy' where the > start of the task depends on one status of the parent task, > and the end of the task depends on other status of the > parent task? > > Hope this makes sense, otherwise please let me know! XD > Cheers, > Eduardo > > > On Sat, May 10, 2014 at 6:14 PM, Justin Israel <[email protected]>wrote: > >> On the topic of introducing other languages in a studio, has anyone had >> experience trying Go in a production VFX pipeline? I've brought it in for >> one tool rewrite, and one web service so far, and have been really hoping >> to see it pick up as a standard in pipeline. Benefits that relate >> specifically to our world are things like: >> >> * Easy syntax that caters to Python developers >> * Compiled, static binaries that are easy to deploy >> * Fast compilation so it makes iterating version fast when in a crunch or >> needing to fix fast >> * Performance on par with C++/Java >> * Statically typed language prevents those pesky bugs that can come out >> of python when someone doesn't have a test that covers every single code >> branch. So generally when you mess up...you find out at compile time, >> instead of in production when you see "Unbound local variable 'foo' does >> not exist". >> * Super strong support for writing servers/services, both in the standard >> library, and the number of 3rd party packages >> * Core concurrency concepts >> >> I've managed to get a couple other co-workers stoked on the idea, so >> hopefully I will see some more tools come about. To me, it seems like it is >> an extremely good fit for pipelines >> >> >> >> On Sun, May 11, 2014 at 8:46 AM, Erkan Özgür Yılmaz >> <[email protected]>wrote: >> >>> Hey Chad, >>> >>> Thats very interesting stuff, I was planing to use gevent along with >>> pyramid but I think I also should heavily evaluate Meteor (though this >>> mongodb <-> sqlalchemy is scarering me a little bit). >>> >>> Also I'm not sure that I was clear about the docs, the auto generated >>> docs for Stalker are in http://pythonhosted.org/stalker/ just slide >>> down to the very end of the page to start seeing the api doc links. >>> On May 10, 2014 8:11 PM, "Chad Dombrova" <[email protected]> wrote: >>> >>>> It is my honor to hear a python experts thoughts on Stalker. Thank you >>>> very much for your compliments, I tried to write it as clean as possible. >>>> >>>> >>>> All well deserved. >>>> >>>> I'll upload the documentation to readthedocs.org or you can read the >>>> whole API documentation from http://pythonhosted.org/stalker/. >>>> >>>> >>>> either site is fine. what I was referring to is the auto-generated API >>>> documentation (think doxygen), which can be creating using autodoc / >>>> autosummary for sphinx. >>>> >>>> For Stalker Pyramid, I don't think that it is ready to be announced >>>> right now. Currently, it is shaping according to our daily needs and what >>>> me and my wife is coding in to it is a little bit quick and dirty. We >>>> probably will write it from scratch after the production of the current >>>> feature animation project is completed. But I can upload screen shots of >>>> it, you probably will enjoy the UI, UI is good but the backend is not in >>>> good shape. >>>> >>>> >>>> Luma is working on some web components which might work nicely with >>>> Stalker. We are using the Meteor <https://www.meteor.com/> web >>>> framework, which runs on Node.js and provides some incredibly powerful >>>> features. I'm not a web expert -- I'm just managing the project -- but >>>> what I like about it is that we get full "reactivity" (when the db backend >>>> is updated the UI updates and vice versa) for free. Meteor also encourages >>>> best-practices like modular, reusable, and test-driven designs, wherein >>>> most of the heavy lifting is done in javascript, and the UI components are >>>> instantiated and configured per application using a light-weight templating >>>> language much like jinja2. >>>> >>>> Currently we're building out some of the lowest level components based >>>> on some popular open-source projects: UI widgets and styling based >>>> on bootstrap.js, and data filtering/sorting based on datatables.js. You >>>> can see them both in action here: http://jquery-datatables.meteor.com/. >>>> The datatables component is able to filter and sort through HUGE amounts >>>> of data very rapidly, and as new data is added to the database the contents >>>> of the tables will be updated in real-time. Soon we'll have some examples >>>> of how to style cells per data-type, e.g. displaying timestamp data as a >>>> calendar date selector, image paths as embedded images, integers as >>>> spin-boxes, etc. >>>> >>>> The big question is how do you use sqlAlchemy / python models in a >>>> meteor / javascript web application? >>>> >>>> First some background: Meteor relies heavily on MongoDB to provide its >>>> reactivity. As a NoSQL database, Mongo uses structured json documents >>>> instead of normalized relational tables, like postgres. You can think of >>>> these NoSQL documents as "pre-joined" relational data; joining across a >>>> foreign key in your relational database is like adding a nested >>>> sub-document to your json document. >>>> >>>> Back to the question: We're currently working on a component which uses >>>> use sqlAlchemy models like those in Stalker to create a 2-way sync between >>>> postgres and mongo. This allows your applications to access the same data >>>> in either style -- relational or document-based -- depending on their need, >>>> with full read/write support for both styles. So, your pipeline code can >>>> use a sqlAlchemy DOM, while your web application uses Meteor's DOM (based >>>> on mongodb), and when you commit a change to postgres via sqlAlchemy, all >>>> web clients viewing that data will be immediately updated. >>>> >>>> My dream was always to write our next-gen internal web tools in python >>>> -- using flask, pyramid, and/or tornado -- and we still do this for basic >>>> apps, but the advantages of Meteor and Node have convinced me that it's >>>> worth adding a new language to our repetoire. So, if you're willing to dig >>>> into some javascript, you might consider taking a look. Austin, our web >>>> developer, pays close attention to the github repos and will be glad to >>>> point you in the right direction. Meteor has a steep learning curve, but >>>> we're hoping that we can make getting started with our components as simple >>>> as running some code generators and writing a few templates. >>>> >>>> chad. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Python Programming for Autodesk Maya" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/python_inside_maya/696CA5EE-8534-4F80-B236-974186A58676%40gmail.com<https://groups.google.com/d/msgid/python_inside_maya/696CA5EE-8534-4F80-B236-974186A58676%40gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Python Programming for Autodesk Maya" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/python_inside_maya/CAGNmyx5D-H-_BuTej8tbT_Pd5Ta4wYPGYxG%3DMCe8jb8xL-Ji9A%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAGNmyx5D-H-_BuTej8tbT_Pd5Ta4wYPGYxG%3DMCe8jb8xL-Ji9A%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Python Programming for Autodesk Maya" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA1OKd0VxLT2juZ4pB0GuDg3E3zb43g7cvob2tw_RpRbPA%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA1OKd0VxLT2juZ4pB0GuDg3E3zb43g7cvob2tw_RpRbPA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Eduardo Graña > www.eduardograna.com.ar > > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/CACt6GrnGLE6yDO5Px%3D3skii2V14O-q2rH0Hfa02eEEJ5xaGjww%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CACt6GrnGLE6yDO5Px%3D3skii2V14O-q2rH0Hfa02eEEJ5xaGjww%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAGNmyx6aE0Qcb-rk%3D2wS9rNjf%2B1gBjqAPK_wY7CRFuMNS-Y7gA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
