Hello,
I return on this argument, but with a different question.

If I need allocate a local (per connected client) resource, I can create it into main(); but how can deallocate it (the problem is strictly related to handling of session, as expressed at https://groups.google.com/forum/#!searchin/julia-users/session/julia-users/Pzud53X5SLk/w1SHsAYvBAAJ )

Thanks

Leonardo



Il 01/02/2016 09:20, Shashi Gowda ha scritto:
Yes this is how you can share non signal variables as well. However, if
you use a non-signal variable to share state, your state updates will
not be propagated across clients one the main function has executed.

If you persist state like in the example, you can load it and make it
the initial value of the shared signal after a restart, picking up where
you left off


On Mon 1 Feb, 2016, 1:44 PM Leonardo <[email protected]
<mailto:[email protected]>> wrote:

    Hi Shashi,
    this technique is applicable also for non-Signal variables, right?

    However, persistence hints for Signals are very interestings ...

    Thanks

    Leonardo


    Il 31/01/2016 19:11, Shashi Gowda ha scritto:
     > Hi Leonardo
     >
     > If you have a single Escher process serving multiple requests and you
     > want to share some state between them, my recommendation would be
    to put
     > the shared data in signal, which can optionally be persisted to
    disk/DB
     >
     > something like
     >
     > if !isdefined(:my_global_var) # this condition makes sure all
    your UIs
     > are referring to the same variable
     >      my_global_signal = Signal(Any, initial_value)
     >
     >      # you could also persist this to disk/DB for re-reading
    later, if
     > you have a function that can do that.
     >      Reactive.foreach(save_to_disk, my_global_signal)
     >
     >      # optionally you could save throttle(1.0, my_global_signal)
    to make
     > sure the state is saved at most once every second so as to not
    hit the
     > disk often
     > end
     >
     > function main(window)
     >     # ... use my_global_signal here, to get and put updates: every
     > client will be notified of updates...
     > end
     >
     >
     >
     > On Sun, Jan 31, 2016 at 5:47 PM, Leonardo <[email protected]
    <mailto:[email protected]>
     > <mailto:[email protected] <mailto:[email protected]>>> wrote:
     >
     >     Hi all,
     >     I want write an application with a Web UI (e.g. a chat) that
    has a
     >     local state (specific for each client) and global one (a
    state bind
     >     to web server).
     >     These requirements are useful for example to permit
    communications
     >     between different client (e.g. into a chat) and/or handle
     >     centralized resources (like a DB connection shared by all
    client and
     >     created once into web server).
     >
     >     How can I do that?
     >
     >     Many thanks in advance
     >
     >     Leonardo
     >
     >

Reply via email to