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.

