Sent a private message.

On Saturday, 27 September 2014 16:39:51 UTC+2, Massimo Di Pierro wrote:
>
> I am very exited by this project and will offer all the help I can. Feel 
> free to contact me personally.
>
> In principle you can use any web framework to control background demons 
> but I would consider yours a mission critical operation there I think it is 
> important to keep it simple and it keep it decoupled so if the web app 
> crashes the demons do not. 
>
> Yes web2py has a scheduler and Django has django-celery. They serve the 
> same purpose but come from two different prospectives. the web2py scheduler 
> assume that the communication between the web app and the tasks is light 
> compared to the time to execute tasks. Therefore this communication is 
> carried on using the database. Django-celery assumes the opposite (very 
> high concurrency) therefore it improves the communication of the web app 
> and tasks using celery. In my opinion the latter does not buy you anything 
>  because one user will control the satellite at the time. It is not a high 
> concurrency system with many clients. Perhaps many tasks but not many 
> clients. django-celery will increase complexity with not real advantage to 
> you.
>
> Given that. it is not obvious to me that any of the two systems are what 
> you want. The reason is you do not execute many tasks that have a beginning 
> and end are autonomous. Your tasks are daemons which may need to receive 
> and return information to the caller without stopping. Moreover your demons 
> are mission critical and you want to decouple them as much as possible from 
> the web application.
>
> I would suggest the following architecture. Give each of your demon a 
> separate thread that exposes it primary functions via a Python xmlrpc 
> services. this is easy and I can send you examples. It should expose 
> functions to set the state and get the state. Have the demons log 
> everything on files and expose a functions to retrieve the log data from a 
> given timestamp.
>
> All the webapp needs to do is call those XMLRPC functions. Use the 
> database at the webapp level to keep a record of which functions were 
> called and their output.  Use a os tool (monit or something else) to 
> monitor and restart the demons.
>
> Your architecture will be very simple and foolproof and any component can 
> go down without comprising the rest.
>
> Massimo
>
>
>
>
>
> On Saturday, 27 September 2014 03:40:27 UTC-5, Frank Olaf Sem-Jacobsen 
> wrote:
>>
>> Hi everyone,
>>
>> I'm researching different Python Web frameworks in order to find the 
>> perfect solution for building a simple satellite control centre. Such an 
>> application places large demands on the ability to schedule and manage 
>> background tasks to communicate with the satellite, monitor the operation 
>> of such tasks to ensure that everything is working as it should, and 
>> overall stability of the system.
>>
>> I'm looking at a web framework since I want to have it easy to use for 
>> the operators. We're multiple operators, and having everyone using a single 
>> stand-alone operation application or individual applications on their own 
>> systems is quite cumbersome and difficult to synchronise. I believe that a 
>> web application solution should allow me detailed control over the 
>> satellite control centre software with an easily accessible user interface.
>>
>> What I'm looking for is a web framework that allows me to operate two 
>> components: a daemon that communicates with the rest of the satellite 
>> software (upload control commands, upload schedules, download files, 
>> monitor telemetry), and a web front end to communicate with the daemon. As 
>> far as I can see from the web2py documentation there is good support for 
>> running background tasks which is critical for my application. It is 
>> crucial that such a background task has access to all information stored by 
>> the Web application (satellite schedules, configurations, et cetera). I'm 
>> looking for a relatively compact solution so I do not have to maintain a 
>> lots of different software to have everything working. 
>>
>> For a simple operating example, consider having to upload scheduled 
>> commands whenever the satellite is visible, while at the same time forking 
>> out a separate thread to handle data download and processing to be 
>> funnelled through to an external system. At the same time it should be 
>> possible to upload real-time commands from the interface when the satellite 
>> is visible for debugging and disaster recovery.
>>
>> As it stands now I think the choice is between web2py and django with 
>> celerey.
>>
>> Based on this very brief summary of my requirements, do you have any 
>> comments on the suitability of web2py to satisfy my needs? There is a huge 
>> amount of Python Web application frameworks to choose from, and it is 
>> important that I choose something that I can live with for a long time 
>> since I have limited development resources (meaning that I cannot try out 
>> several frameworks to see which I like best).
>>
>> Your input is appreciated.
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to