Thanks Niphlod, It works!
I added
self.db_thread.executesql("set search_path to scheduler, auth, ... ;")
in gluon/scheduler.py
after the self.db_thread = DAL( .... line and before the
self.define_tables( ... line
I am aware of the fact that it is not supported, but the database uses a
strict schema policy so i don't have a choice really.
I am wondering how worker startup works when the python web2py.py -K myapp
statement is executed.
How does the scheduler get the database uri, if the models aren't executed
at scheduler worker startup?
Does scheduler only search for de db - DAL(... statement, omitting the
other code?
Op vrijdag 3 juni 2016 20:24:01 UTC+2 schreef Niphlod:
>
> the scheduler though doesn't know anything about the search path when it
> rebuilds its own model... that's why setting search_path is undocumented ^_^
>
> you can try fiddling with the source of the scheduler (along these lines
> https://github.com/web2py/web2py/blob/master/gluon/scheduler.py#L948) to
> set the same search path.
>
> Please be aware that even if it seems to work, support for it is not
> assured (so use at your own risk)
>
> On Friday, June 3, 2016 at 7:19:02 PM UTC+2, Bart wrote:
>>
>> Hi Niphlod,
>>
>> Normally i just put a record in the scheduler_task table with appadmin.
>> That works fine (no errors), but nothing happens because the scheduler
>> worker is not running.
>>
>> In db.py the database schema is set via db.executesql("set search_path
>> to auth,scheduler, ... ;")
>>
>> In case migrate is True, the search_path is set to scheduler, auth, ...
>> just before the scheduler = Scheduler(db) statement.
>>
>>
>>
>> Op vrijdag 3 juni 2016 18:35:07 UTC+2 schreef Niphlod:
>>>
>>> what happens when you try to queue a task from the app ? AFAIK I'd be
>>> eager to know how can it work if there is no "public" schema, unless you
>>> tinkered with scheduler's table definitions
>>>
>>> On Friday, June 3, 2016 at 4:57:23 PM UTC+2, Bart wrote:
>>>>
>>>> Addition:
>>>>
>>>> I am using several schema's in the postgres database.
>>>>
>>>> The scheduler tables are in schema 'scheduler'
>>>>
>>>> Schema 'public' does not exist.
>>>>
>>>> Can this cause the problem?
>>>>
>>>
--
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.