I'd strongly advise you to read the section on the book about migrations 
and fixing broke migrations.
If you're starting now with the scheduler, please do the following:
- delete all databases/*_scheduler_*.table files
- delete scheduler_worker, scheduler_tasks, scheduler_run table from your 
backend MANUALLY
- use Scheduler(db, ...., migrate=True)
- open appadmin
- reset Scheduler(db, ...., migrate=False)

On Tuesday, August 26, 2014 11:18:25 AM UTC+2, Prasad Muley wrote:
>
> Hi,
>    I tried to access db.scheduler_run table but it is giving me following 
> error in web2py shell and app admin UI.
>
> *OperationalError: (1054, "Unknown column 'scheduler_run.scheduler_task' 
> in 'field list'")*
>
>
> On Tue, Aug 26, 2014 at 1:04 PM, Niphlod <nip...@gmail.com <javascript:>> 
> wrote:
>
>> there's yet a scheduler_task table in the database. Fix migrations in the 
>> usual way, or set Scheduler(db,....,migrate=False) to avoid the error.
>>
>>
>> On Tuesday, August 26, 2014 8:58:06 AM UTC+2, Prasad Muley wrote:
>>>
>>> Hi,
>>>      I've web2py 2.3 version. I tried to use scheduler for mail sending.
>>> I got this error while creating a worker for scheduler
>>>
>>> $ python web2py.py -K send_mail_app                               
>>>                                                                            
>>> [12:07:02]
>>> web2py Web Framework
>>> Created by Massimo Di Pierro, Copyright 2007-2014
>>> Version 2.3.2 (2012-12-17 15:03:30) stable
>>> Database drivers available: SQLite(sqlite2), SQLite(sqlite3), 
>>> MySQL(pymysql), MySQL(MySQLdb), PostgreSQL(psycopg2), PostgreSQL(pg8000), 
>>> MSSQL(pyodbc), DB2(pyodbc), Teradata(pyodbc), IMAP(imaplib)
>>> starting single-scheduler for "send_mail_app"...
>>> Traceback (most recent call last):
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/restricted.py", line 212, 
>>> in restricted
>>>     exec ccode in environment
>>>   File "applications/send_mail_app/models/scheduler.py", line 2, in 
>>> <module>
>>>     mail_scheduler = Scheduler(db)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/scheduler.py", line 449, in 
>>> __init__
>>>     self.define_tables(db, migrate=migrate)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/scheduler.py", line 501, in 
>>> define_tables
>>>     migrate=migrate, format='%(task_name)s')
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 7186, in 
>>> define_table
>>>     table = self.lazy_define_table(tablename,*fields,**args)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 7222, in 
>>> lazy_define_table
>>>     polymodel=polymodel)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 935, in 
>>> create_table
>>>     self.create_sequence_and_triggers(query,table)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 1694, in 
>>> create_sequence_and_triggers
>>>     self.execute(query)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 1709, in 
>>> execute
>>>     return self.log_execute(*a, **b)
>>>   File "/home/prasad/Rootpy/web2py 2.3/gluon/dal.py", line 1703, in 
>>> log_execute
>>>     ret = self.cursor.execute(*a, **b)
>>>   File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", 
>>> line 201, in execute
>>>     self.errorhandler(self, exc, value)
>>>   File "/usr/local/lib/python2.7/dist-packages/MySQLdb/connections.py", 
>>> line 36, in defaulterrorhandler
>>>     raise errorclass, errorvalue
>>> OperationalError: (1050, "Table 'scheduler_task' already exists")
>>>
>>> I've followed following instructions.
>>>
>>> *1) Created a file models/scheduler.py*
>>>
>>> #code from scheduler.py file
>>> from gluon.scheduler import Scheduler
>>> mail_scheduler = Scheduler(db)
>>>
>>>
>>> def send_mail(to, subject, message, cc=None, bcc=None,
>>>               attachments=None):
>>>     """
>>>     This module is called by scheduler.
>>>     You can check scheduler_task table and scheduler.task_status table
>>>     """
>>>     if cc is None:
>>>         cc = []
>>>     if bcc is None:
>>>         bcc = []
>>>     if attachments is None:
>>>         attachments = []
>>>     #sending mail
>>>     mail.send(to=to, cc=cc, bcc=bcc,
>>>               subject=subject, message=message,
>>>               attachments=attachments)
>>>
>>> *2) Called send_mail module in an external script.*
>>> (scripts/send_mails.py)
>>>
>>> #extra code here
>>> task = mail_scheduler.queue_task('send_mail',
>>>                                              pvars={'to': email,
>>>                                                     'subject': subject,
>>>                                                     'message': 
>>> html_email},
>>>                                              
>>> start_time=datetime.datetime.now())
>>> print task
>>>
>>>
>>> *3) Created a worker and got above error*
>>>
>>>
>>> Am I missing some steps?
>>>
>>  -- 
>> 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 a topic in the 
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/web2py/gx5o0vAGXQQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> web2py+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Thanks and Regards
> Prasad M. Muley
> Programmer at One Delta Synergies Pvt Ltd. | PICT 2013
>
> “Pretty much everything on the web uses those two things: *C* and *UNIX*,” 
> - Dennis Ritchie
>                                *http://www.cs.bell-labs.com/who/dmr/* 
> <http://www.cs.bell-labs.com/who/dmr/>         
>  

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to