Will run more tests in the morning on a brand new application, since I
can't see anything wrong (connection string duplication) in code right now.
Unfortunately, can't roll back this functionality now, so will have to
figure it out quickly. Thanks for help Massimo and Niphlod.


On Thu, Oct 4, 2012 at 10:32 PM, Massimo Di Pierro <
massimo.dipie...@gmail.com> wrote:

> No. this should not be a problem. This is only be a problem if any two
> have the same connection string.
>
>
> On Thursday, 4 October 2012 21:10:58 UTC-5, Adi wrote:
>
>> I'm using 6 connections at the same time, 3 go to different databases on
>> the same server, and 3 to totally different servers. Each connection has a
>> different name
>>
>> db = DAL('mysql://crm:password@**localhost:3307/CRM',migrate_**
>> enabled=True)
>> db_us = 
>> DAL('mysql://web_US:password@**localhost:3307/DataUS',**migrate_enabled=False,
>> fake_migrate_all=True)
>> db_ca = DAL('mysql://web_CA:password@**localhost:3307/DataCA',
>> migrate_enabled=False, fake_migrate_all=True)
>> ...
>>
>> Could something like this be a problem:
>> In a scheduler function, based on application that inserted a task, I
>> assign relevant connection to another object to use?
>>
>> if application='ca':
>>     db_front_end = db_ca
>> elif application='us':
>>     db_front_end = db_us
>>
>> use db_front_end to retrieve data and perform scheduled task
>>
>>
>> On Thu, Oct 4, 2012 at 9:42 PM, Massimo Di Pierro 
>> <massimo....@gmail.com>wrote:
>>
>>> This error can arise in two cases:
>>> - you are using an a recent trunk version (not the latest) which has a
>>> bug
>>> - you are using the latest trunk (no bug) but you have a duplicated
>>> connection in your code:
>>>
>>> db = DAL(....)
>>> db = DAL(....)
>>>
>>> perhaps in different model files. Previous web2py did not check and
>>> allowed you to have two connections to the same database. We found this is
>>> often source or errors. The new web2py checks and does not allow you to do
>>> it. Your would get the error you see.
>>>
>>>
>>> On Thursday, 4 October 2012 14:42:59 UTC-5, Adi wrote:
>>>
>>>> We promoted latest night build to production, and scheduler started
>>>> failing. At the same time there were some code changes, so I'm having a
>>>> hard time tracing the source of the problem.
>>>>
>>>> Any insights while I'm trying to figure it out?
>>>>
>>>> Thanks,
>>>> Adi
>>>>
>>>> db: mysql
>>>> redhat linux
>>>> w2p: Version 2.0.9 (2012-10-02 03:55:58) dev
>>>>
>>>> scheduler_run table: traceback field:
>>>> Traceback (most recent call last):
>>>>   File "/opt/web-apps/web2py/gluon/**sc**heduler.py", line 203, in
>>>> executor
>>>>     _env = env(a=a,c=c,import_models=**True**)
>>>>   File "/opt/web-apps/web2py/gluon/**sh**ell.py", line 134, in env
>>>>     sys.exit(1)
>>>> SystemExit: 1
>>>>
>>>>
>>>> scheduler log:
>>>> /opt/web-apps/web2py/gluon/**dal**.py:6597: DeprecationWarning:
>>>> object.__new__() takes no parameters
>>>>   db = super(DAL, cls).__new__(cls, uri, *args, **kwargs)
>>>> web2py Web Framework
>>>> Created by Massimo Di Pierro, Copyright 2007-2012
>>>> Version 2.0.9 (2012-10-02 03:55:58) dev
>>>> Database drivers available: SQLite(sqlite3), MySQL(pymysql),
>>>> PostgreSQL(pg8000), IMAP(imaplib)
>>>> starting single-scheduler for "crm"...
>>>> Traceback (most recent call last):
>>>>   File "/opt/web-apps/web2py/gluon/**re**stricted.py", line 209, in
>>>> restricted
>>>>     exec ccode in environment
>>>>   File "applications/crm/models/db.**py**", line 47, in <module>
>>>>     db = DAL('mysql://crm:password@**loca**lhost:3307/CRM',migrate_**
>>>> enable**d=False, fake_migrate_all=True)
>>>>   File "/opt/web-apps/web2py/gluon/**da**l.py", line 6595, in __new__
>>>>     raise RuntimeError, 'Cannot duplicate a Singleton'
>>>> RuntimeError: Cannot duplicate a Singleton
>>>>
>>>>  --
>>>
>>>
>>>
>>>
>>
>>
>>  --
>
>
>
>

-- 



Reply via email to