gramex.services.scheduler
¶
  Gramex scheduling service
Task(name, schedule, threadpool, ioloop=None)
¶
  Run a task. Then schedule it at the next occurrance.
Create a new task based on a schedule.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| name | str | Name of the schedule | required | 
| schedule | dict | Schedule configuration (see below) | required | 
| threadpool | ThreadPoolExecutor | Threadpool to use for running the task | required | 
| ioloop | tornado.ioloop | IOLoop to run the task on. If None, use main IOLoop | None | 
Schedule configurations are dicts with these keys:
- minutes: minutes to run at (as per cron spec below)
- hours: hours to run at (as per cron spec below)
- dates: dates to run at (as per cron spec below)
- months: months to run at (as per cron spec below)
- weekdays: weekdays to run at (as per cron spec below)
- years: years to run at (as per cron spec below)
- utc: True for UTC time zone, else local time zone (default: False)
- every: interval to run at (e.g. “3h 30m” or “90s”)
- startup:- Trueto run at startup,- '*'to run on every config change
- thread:- Trueto run in a separate thread (default: False)
The minutes, hours, dates, months, weekdays, years keys can take these values:
- *: use all possible values, i.e. every minute, every hour, etc.
- 3,4,5: use multiple values separated by commas
- 1-5: use range of values
- */4: repeat every 4th time, i.e. every 4th minute, 4th hour, etc.
- 8-16/2: repeat every 2nd time between 8 to 16. Same as 8,10,12,14,16
To specify a schedule, you must specify at least one of these:
- minutes,- hours,- dates,- months,- weekdays,- years
- every
- startup
Source code in gramex\services\scheduler.py
            | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |  | 
run(args, kwargs)
¶
  Run task. Then set up next callback.
Source code in gramex\services\scheduler.py
        | 128 129 130 131 132 133 134 135 136 |  | 
stop()
¶
  Suspend task, clearing any pending callbacks
Source code in gramex\services\scheduler.py
        | 138 139 140 141 142 143 |  | 
call_later()
¶
  Schedule next run automatically. Clears any previous scheduled runs
Source code in gramex\services\scheduler.py
        | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |  |