Hey Eduardo,

That's quite useful, thanks. Since it's just you, I don't think you need to
bother with a remote server and can instead host it on your own machine.
You could then store either with your IP or a DNS to your machine directly
in your tools, and have them "phone home" whenever an action takes place.
It would be both free and fully under your control.

However, depending on your situation, users working from home probably
won't mind, but the studios you work against might. Having anything
communicate with the outside world from within an organisation is usually a
big no-no, as it means confidential information could leak out and
potentially end up in the wrong hands.

You could safe-guard your scripts and your communication, but you'd
probably end up paying more than you bargain for (in terms of time versus
value).

Best,
Marcus


On 19 May 2014 16:45, Eduardo Grana <[email protected]> wrote:

> Hey Guys!
> Thanks so much for all the information you gave me.
> I'll have to spend some time testing all these options.
> Sentry seems the easiest thing, although you probably
> end up paying...
> I think i'll try to get a hosting and try some stuff in there,
> yesterday i made an account in pythonanywhere, and
> i was able to try flask, sounds promising. Gonna try django too.
>
> The use of the system its a little weird,
> I usually work as a freelance, in several studios at the same time,
> so its actually just me as td, but there are several facilities, and
> several users. Also there are users taking some scripts home to work on
> weekends.
> So the idea is to be able to track changes on the enviroment and the
> effects
> on the scripts, also to measure the effectiveness of the different
> features based on usage.
> Hope this description is usefull!
>
> Cheers!
> Eduardo
>
>
> On Mon, May 19, 2014 at 3:19 AM, Marcus Ottosson 
> <[email protected]>wrote:
>
>> You are always paying for something - cost comes in the flavours
>> "juicy-money" and "tasty-time" :)
>>
>> Eduardo, do you have any requirements for your system? How many users do
>> you expect per tool?
>>
>> My comments are based on there being 1-3 TDs at your facility and there
>> being around 5-10 artists/tool. If you're closer to 50 TDs and 500 artists
>> per tool, my advice would put you in a battle against Goliath. :) In this
>> scenario, I would instead opt for Justin's advice.
>>
>> With more details, I think we could all come to a reasonable conclusion
>> to your goals.
>>
>> Best,
>> Marcus
>>
>>
>>
>> On 18 May 2014 22:49, Justin Israel <[email protected]> wrote:
>>
>>> I don't see this as heavy handed at all (unless you are paying for
>>> something). It is relatively simple to spin up an instance of elastic and
>>> start throwing arbitrary data at it.
>>> We have people here at the studio in different departments that use both
>>> Kibana and Grafana (graphite) to visualize data that we are chucking into
>>> elastic. Once you have it set up you are just making different graphs and
>>> aggregations. Or making a query to say "give me all messages for
>>> application foo between this date range and with 'warning'  in the message"
>>>
>>> It would probably be more work to use a basic logging system and then
>>> have to use your own tools to parse and visualize the data.
>>>  On May 19, 2014 8:25 AM, "Marcus Ottosson" <[email protected]>
>>> wrote:
>>>
>>>> At the end of the day though, both of these seem rather heavy handed
>>>> and probably better suited for internet-based/big-data applications.
>>>> Monitoring tool usage probably has less pre-packaged alternatives simply
>>>> because it may considered something rather straightforward.
>>>>
>>>> Eduardo, you would probably be better off taking the time to understand
>>>> how logging works and how to distribute it, as you'd probably spend an
>>>> equal amount of time figuring out either of these products and still be
>>>> none the wiser about what the users of your tools are up to.
>>>>
>>>>
>>>> On 18 May 2014 20:34, Justin Israel <[email protected]> wrote:
>>>>
>>>>> Looks cools. I couldn't tell at a glance if it was fully paid service
>>>>> or if the Pypi package is a self hosting open source version.
>>>>>
>>>>> For something a bit more generic that let's you visualize basically
>>>>> anything in your custom data you can also check out Kibana:
>>>>> http://www.elasticsearch.org/overview/kibana/
>>>>>  On May 19, 2014 3:39 AM, "Marcus Ottosson" <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Ah, in that case, there was a thread put up a while back about
>>>>>> sentry. Haven't used it, but maybe it's close to what you're looking for?
>>>>>> https://pypi.python.org/pypi/sentry
>>>>>>
>>>>>>
>>>>>> On 18 May 2014 15:38, Eduardo Grana <[email protected]> wrote:
>>>>>>
>>>>>>> Thanks Justin and Marcus for your replies.
>>>>>>> I was thinking on something that i could use 'out of the box',
>>>>>>> something that was already made and hosted, where i just
>>>>>>> code for the logic on the server, and then use it like
>>>>>>> a soap service or a wsdl, something like this example
>>>>>>>
>>>>>>>
>>>>>>> http://www.diveintopython.net/soap_web_services/introspection.htmlhttp://www.diveintopython.net/soap_web_services/introspection.html
>>>>>>>
>>>>>>> Sounds like something reasonable?
>>>>>>> Thanks again!
>>>>>>> Eduardo
>>>>>>>
>>>>>>>
>>>>>>> On Sun, May 18, 2014 at 5:39 AM, Marcus Ottosson <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Eduardo,
>>>>>>>>
>>>>>>>> I’ve got nothing in the pre-packaged arena to recommend, but if
>>>>>>>> your looking to roll your own system, read on.
>>>>>>>>
>>>>>>>>
>>>>>>>>    - accepts data and that you could retrieve it later in block.
>>>>>>>>
>>>>>>>>  Before having a server that can accept data, have you considered
>>>>>>>> how to transmit your data? For instance, if you’re looking at rolling 
>>>>>>>> your
>>>>>>>> own system, then one of the pattern you could use is called PUB/SUB, 
>>>>>>>> for
>>>>>>>> publish/subscribe. I.e. your methods/functions publishes data and then
>>>>>>>> something is out there listening. Also called producer and consumer.
>>>>>>>>
>>>>>>>> Once the consumer has collected data, say in a mongodb database or
>>>>>>>> in a simple text file, you can provide access to this datastore via a 
>>>>>>>> web
>>>>>>>> interface, command-line or pyqt gui. Depending on your use, it may be
>>>>>>>> helpful to think of keeping the production and consumption of your data
>>>>>>>> separate; the opposite being finding a pre-packaged web-server and
>>>>>>>> designing your messages for it specifically.
>>>>>>>>
>>>>>>>> If separate, say in a text-file, retrieving the data is a mere 
>>>>>>>> open(path,
>>>>>>>> 'r'), this is then equally applicable to both your web-server, and
>>>>>>>> tools.
>>>>>>>>
>>>>>>>> The production of message could look something like this:
>>>>>>>>
>>>>>>>>  ___________
>>>>>>>> |           |
>>>>>>>> |   start   |--> publish "A: starting MyTool"
>>>>>>>> |___________|
>>>>>>>>       |
>>>>>>>>  _____v_____
>>>>>>>> |           |
>>>>>>>> |   meth1   |--> publish "A: running MyCommand"
>>>>>>>> |___________|
>>>>>>>>       |
>>>>>>>>  _____v_____
>>>>>>>> |           |
>>>>>>>> |   meth2   |--> publish "A: wrapping up MyTool"
>>>>>>>> |___________|
>>>>>>>>
>>>>>>>> Each message potentially transmitting dates and user and machine
>>>>>>>> stats etc. You’d then have a consumer, listening for anything tagged 
>>>>>>>> “A”.
>>>>>>>>
>>>>>>>>        __________
>>>>>>>>       |          |
>>>>>>>> ("A"--|  listen  |
>>>>>>>>       |__________|
>>>>>>>>
>>>>>>>> The important thing to note being that producing messages is a
>>>>>>>> non-blocking operation and that there mustn’t be a consumer/listener 
>>>>>>>> at the
>>>>>>>> other end; that is optional.
>>>>>>>>
>>>>>>>> give response to calls with simple arguments
>>>>>>>>
>>>>>>>> For this, there is the REQ/REP pattern, for request/reply, in which
>>>>>>>> you could either send a message, synchonously, and await an arbitrary
>>>>>>>> response:
>>>>>>>>
>>>>>>>> >>> unpacked_message = {'status': 'ok', 'command': 'givz_cat'}>>> 
>>>>>>>> >>> packed_message = json.dumps(unpacked_message)>>> 
>>>>>>>> >>> socket.send(packed_message)>>> packed_reply = socket.recv()# 
>>>>>>>> >>> Blocks here>>> unpacked_reply = json.loads(packed_reply)>>> 
>>>>>>>> >>> process(reply)
>>>>>>>>
>>>>>>>> Or you could go for something like the RPC pattern which mimics
>>>>>>>> calling upon procedures as though they were local:
>>>>>>>>
>>>>>>>> >>> reply = myobj.givz_cat()>>> process(reply)
>>>>>>>>
>>>>>>>> Each perform similar tasks (i.e. the bundling and serialising of
>>>>>>>> commands) whereas an RPC masks it under a familiar, higher-level 
>>>>>>>> interface.
>>>>>>>>
>>>>>>>> And finally, to make any of this possible, you can either roll your
>>>>>>>> own low-level messaging mechanism, which in the case of REQ/REP isn’t 
>>>>>>>> that
>>>>>>>> big of a deal (with e.g. socket module) depending on your aspirations, 
>>>>>>>> but
>>>>>>>> for PUB/SUB would make life slightly more difficult. For this or both, 
>>>>>>>> I
>>>>>>>> would suggest a 
>>>>>>>> MOM<http://en.wikipedia.org/wiki/Message-oriented_middleware>,
>>>>>>>> or Message-Oriented Middleware, such as ZeroMQ <http://zeromq.org/>.
>>>>>>>> Whichever you choose, there are tutorials and use-cases in the ZeroMQ
>>>>>>>> guide <http://zguide.zeromq.org/py:all#Messaging-Patterns>.
>>>>>>>>
>>>>>>>> Hope it helps.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Marcus
>>>>>>>> ​
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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/CAFRtmOBC0NrHqYbkNDm%2BDHTnxeYtRUpafv70tKqT9ZSqqgrDOA%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOBC0NrHqYbkNDm%2BDHTnxeYtRUpafv70tKqT9ZSqqgrDOA%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/CACt6GrnQKYtjvamUZW_aopazG%3DJTBbOxV31kuUndCczBgfeTKA%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CACt6GrnQKYtjvamUZW_aopazG%3DJTBbOxV31kuUndCczBgfeTKA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Marcus Ottosson*
>>>>>> [email protected]
>>>>>>
>>>>>> --
>>>>>> 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/CAFRtmOAtaygYqhAQV9RfYVXbEqcWE%2BctCuNicsdw%2Bb2vMmiPOw%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAtaygYqhAQV9RfYVXbEqcWE%2BctCuNicsdw%2Bb2vMmiPOw%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/CAPGFgA0FU-Vue0pYUAwgQ8ZKb0bim%2BQoA3MhJ-6XycWXPLZc7w%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA0FU-Vue0pYUAwgQ8ZKb0bim%2BQoA3MhJ-6XycWXPLZc7w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Marcus Ottosson*
>>>> [email protected]
>>>>
>>>> --
>>>> 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/CAFRtmOAJ7DUfCvEJQiR_rBcfrQJYTapmfqEJ%3D-cENgFmDmom8A%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAJ7DUfCvEJQiR_rBcfrQJYTapmfqEJ%3D-cENgFmDmom8A%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/CAPGFgA1nSn%2BY4vSO4gBt7Ntd8U%3D9c0w2XN78rmbjxgvfYv%3DOhg%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA1nSn%2BY4vSO4gBt7Ntd8U%3D9c0w2XN78rmbjxgvfYv%3DOhg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> *Marcus Ottosson*
>> [email protected]
>>
>> --
>> 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/CAFRtmOBRBPc04Pt5RhhHX4Kkpez3Z4XH5gJK_C2te3Qhsxxf%3Dw%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOBRBPc04Pt5RhhHX4Kkpez3Z4XH5gJK_C2te3Qhsxxf%3Dw%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/CACt6Grk76rT7rnODi60qHjMMvZ8Km9WbaWJbSuhGeqJbjSuvFg%40mail.gmail.com<https://groups.google.com/d/msgid/python_inside_maya/CACt6Grk76rT7rnODi60qHjMMvZ8Km9WbaWJbSuhGeqJbjSuvFg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
*Marcus Ottosson*
[email protected]

-- 
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/CAFRtmOCGiEV%2B_cLdC0GDJsuDubdben9y3G740%3DDq1sGRM%3DQHag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to