How are you starting the scheduler workers? Typically the scheduler is run 
in the context of a web2py app environment, so the database and tasks are 
defined in a web2py app.

To run the scheduler outside of the web2py context, see 
https://github.com/web2py/web2py/blob/c9fd0fd71e770c1a367b45ad5def5bd2c6fd7115/gluon/scheduler.py#L1637.
 
You'll need to specify the DB URI, a folder where the DAL model definition 
metadata files will be stored, and a file where the tasks are defined.

Anthony

On Wednesday, November 15, 2017 at 4:04:15 AM UTC-5, yytry...@gmail.com 
wrote:
>
> i write a scripy to get some information and use scheduler to auto ,but 
> scheduler is display FAILED,this is my script
>
> def redhat():
>     bug_num =''
>     try:
>         try:
>             url = 'https://access.redhat.com/security/vulnerabilities'
>             rea = requests.get(url)
>             rea.encoding = 'utf-8'
>             html = BeautifulSoup(rea.text,"html.parser")
>             a= html.find("tbody").find_all("tr")
>             try:
>                 indatabase = db(db.get_data.get_from == "redhat").select()
>                 if indatabase:
>                     indatabase=db(db.get_data.get_from == "redhat").select
> (
>                     db.get_data.title,orderby=~db.get_data.get_time,
> limitby=(0,5))
>                 else:
>                     indatabase=['1']
>             except BaseException as e:
>                 print e
>             for i in range(len(a)):
>                 for j in indatabase:
>                     break_flag ='no'
>                     if a[i].find("a").get_text() != j.title:
>                         geturl = 'https://access.redhat.com'+ str(a[i].
> find("a")).split('"')[1]
>                         bug_level = a[i].find("div","field-type-list-text"
> ).get_text().strip()
>                         if re.findall(u'CVE\-[0-9]{4,}\-[0-9]{4,}',str(a[i
> ].find("a").get_text())):
>                             bug_num = re.findall(u
> 'CVE\-[0-9]{4,}\-[0-9]{4,}',str(a[i].find("a").get_text()))[0]
>                         if bug_level=="Critical":
>                             bug_level="High"
>                         elif bug_level=="Important":
>                             bug_level=" Medium"
>                         elif bug_level=="Moderate":
>                             bug_level="Low"
>                         db.get_data.insert(title=a[i].find("a").get_text
> (),get_from='redhat',get_url=geturl,get_time=now,
>                             body='',data_condition=condition[0],bug_num=
> bug_num,bug_level=bug_level)
>                         print a[i].find("a").get_text()
>                         break
>                     else:
>                         break_flag = "yes"
>                         print "redhat no new isuse"
>                         break
>                 if break_flag == "yes":
>                     break
>
>
>         except Exception as e:
>             print e
>     
>     except Exception as e:
>         pass
>     print "redhat finish in " +str(datetime.datetime.now()) +"\n"
>
>
> from datetime import timedelta as timed
> from gluon.scheduler import Scheduler
> scheduler = Scheduler(db, dict(
>     mission5=redhat
>     )
> )
> scheduler.queue_task('mission5', 
>     start_time=request.now,  # datetime
>     stop_time=None,#request.now+timed(seconds=30),  # datetime
>     timeout = 90,  # seconds
>     period=60,  # seconds
>     immediate=True,
>     repeats=1
> )
> my script can normal run in controllers,but  in scheduler can't
> and i want to control the quantity of scheduler_task,but it without stop 
> create new task ,please help me
>

-- 
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