ehm... deploy. production. cluster.
You say that "some .table files are created" hence I think you're using the 
same database uri both for production and development (if any). If .table 
files are created, it's safe to assume that the underlying code changes 
too, right ?
If so, a simply copy/rsync from a "development" to all the "cluster" 
machines suffices, without you ending in misery. Why all the pain if you 
have to sync the code accross cluster if .table files can travel the same 
way as your codebase ?

Il giorno giovedì 23 agosto 2012 17:14:51 UTC+2, Mike ha scritto:
>
> We are planning on deploying our Web2Py application under Apache-WSGI on a 
> cluster of servers all accessing the same multiple databases. Since the new 
> databases will be created on the fly, as needed, we cannot predict 
> beforehand how many we will end up using and, consequently, how many files 
> will end up being created in DATABASES folder. As a result, I am trying to 
> create sub-folders under DATABASES and set MIGRATE parameter on 
> .define_table() call for a given database to <sub-folder name>/<table 
> name>.table. Such approach allows me to better control the overall number 
> of files in a single folder as well as make the overall picture more 
> manageable. There is one problem with this approach and one question for 
> the experts:
>
> 1. A problem - we are using Auth to authenticate users and so need to 
> perform auth.define_tables(). By passing to it migrate="<sub-folder 
> name>/", I almost made it create all the auth_ table files in that 
> sub-folder, except that there is a typo in TOOLS.PY, line 1420 in my source 
> code for version 1.99.7, where instead of expected 
>     
> migrate=self.__get_migrate(settings.table_cas_name, migrate),
>                             
> it goes
>     
> migrate=self.__get_migrate(settings.table_event_name, migrate),
>
> I've fixed it in my copy and would like to request that the fix should be 
> made in the official release code base as well.
>
> 2. A question - should DATABASES folder be shared among the Apache-Web2Py 
> machines or should each maintain its own copy? More specifically, is there 
> any locking mechanism on those .table files built specifically for the 
> purpose of sharing between threads/machines? I intend to use 
> migrate_enabled=False when creating an instance of DAL if I know that the 
> tables have already been created, but to make sure that multiple machines 
> won't try to create the new database/new sub-folder at the same time, I 
> will probably have to build some locks outside DAL. Is this even the right 
> way of thinking about this problem?
>
> Sorry for the long-winded question. Great framework, BTW. :)
>
>

-- 



Reply via email to