Changeset bea5278 in rattail
- Timestamp:
- 11/20/2022 01:56:54 PM (3 months ago)
- Branches:
- master
- Children:
- aa734cb0
- Parents:
- c859743
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rattail/luigi/handler.py
rc859743 rbea5278 31 31 import subprocess 32 32 import sys 33 import warnings 33 34 34 35 import sqlalchemy as sa … … 91 92 def get_all_overnight_tasks(self, **kwargs): 92 93 tasks = [] 93 keys = self.config.getlist('rattail.luigi', 'overnight_tasks', 94 95 keys = self.config.getlist('rattail.luigi', 'overnight.tasks', 94 96 default=[]) 97 if not keys: 98 keys = self.config.getlist('rattail.luigi', 'overnight_tasks', 99 default=[]) 100 if keys: 101 warnings.warn("setting is deprecated: [rattail.luigi] overnight_tasks; " 102 "please use [rattail.luigi] overnight.tasks instead", 103 DeprecationWarning) 104 95 105 for key in keys: 96 lastrun = self.config.get( 97 'rattail.luigi', 'overnight.{}.lastrun'.format(key)) 106 if key.startswith('overnight-'): 107 key = key[len('overnight-'):] 108 warnings.warn("overnight task keys use deprecated 'overnight-' prefix", 109 DeprecationWarning) 110 111 lastrun = self.get_overnight_task_setting(key, 'lastrun') 98 112 lastrun = self.app.parse_utctime(lastrun, local=True) 99 113 tasks.append({ 100 114 'key': key, 101 'description': self.config.get( 102 'rattail.luigi', 'overnight.{}.description'.format(key)), 103 'script': self.config.get( 104 'rattail.luigi', 'overnight.{}.script'.format(key)), 105 'notes': self.config.get( 106 'rattail.luigi', 'overnight.{}.notes'.format(key)), 115 'description': self.get_overnight_task_setting(key, 'description'), 116 'script': self.get_overnight_task_setting(key, 'script'), 117 'notes': self.get_overnight_task_setting(key, 'notes'), 107 118 'lastrun': lastrun, 108 'last_date': self. config.getdate(109 'rattail.luigi', 'overnight.{}.last_date'.format(key)),119 'last_date': self.get_overnight_task_setting(key, 'last_date', 120 typ='date'), 110 121 }) 111 122 tasks.sort(key=lambda t: t['description']) 112 123 return tasks 113 124 125 def get_overnight_task_setting(self, key, name, typ=None, **kwargs): 126 getter = self.config.get 127 if typ == 'date': 128 getter = self.config.getdate 129 value = getter('rattail.luigi', 130 'overnight.task.{}.{}'.format(key, name)) 131 if value is None: 132 value = getter('rattail.luigi', 133 'overnight.overnight-{}.{}'.format(key, name)) 134 if value is not None: 135 warnings.warn("[rattail.luigi] overnight.overnight-* settings are deprecated; " 136 "please use [rattail.luigi] overnight.task.* instead", 137 DeprecationWarning) 138 return value 139 114 140 def get_overnight_task(self, key, **kwargs): 141 if key.startswith('overnight-'): 142 key = key[len('overnight-'):] 143 warnings.warn("overnight task keys use deprecated 'overnight-' prefix", 144 DeprecationWarning, stacklevel=2) 145 115 146 for task in self.get_all_overnight_tasks(): 116 147 if task['key'] == key: … … 150 181 151 182 def record_overnight_last_date(self, task, date, session=None, **kwargs): 152 name = 'rattail.luigi.overnight. {}.last_date'.format(task['key'])183 name = 'rattail.luigi.overnight.task.{}.last_date'.format(task['key']) 153 184 with self.app.short_session(session=session, commit=True) as s: 154 185 self.app.save_setting(s, name, six.text_type(date)) … … 156 187 def get_all_backfill_tasks(self, **kwargs): 157 188 tasks = [] 158 keys = self.config.getlist('rattail.luigi', 'backfill_tasks', 189 190 keys = self.config.getlist('rattail.luigi', 'backfill.tasks', 159 191 default=[]) 192 if not keys: 193 keys = self.config.getlist('rattail.luigi', 'backfill_tasks', 194 default=[]) 195 if keys: 196 warnings.warn("setting is deprecated: [rattail.luigi] backfill_tasks; " 197 "please use [rattail.luigi] backfill.tasks instead", 198 DeprecationWarning) 199 160 200 for key in keys: 161 lastrun = self.config.get( 162 'rattail.luigi', 'backfill.{}.lastrun'.format(key)) 201 if key.startswith('backfill-'): 202 key = key[len('backfill-'):] 203 warnings.warn("backfill task keys use deprecated 'backfill-' prefix", 204 DeprecationWarning) 205 206 lastrun = self.get_backfill_task_setting(key, 'lastrun') 163 207 lastrun = self.app.parse_utctime(lastrun, local=True) 164 208 tasks.append({ 165 209 'key': key, 166 'description': self.config.get( 167 'rattail.luigi', 'backfill.{}.description'.format(key)), 168 'script': self.config.get( 169 'rattail.luigi', 'backfill.{}.script'.format(key)), 170 'forward': self.config.getbool( 171 'rattail.luigi', 'backfill.{}.forward'.format(key), 172 default=False), 173 'notes': self.config.get( 174 'rattail.luigi', 'backfill.{}.notes'.format(key)), 210 'description': self.get_backfill_task_setting(key, 'description'), 211 'script': self.get_backfill_task_setting(key, 'script'), 212 'forward': self.get_backfill_task_setting(key, 'forward', 213 typ='bool') or False, 214 'notes': self.get_backfill_task_setting(key, 'notes'), 175 215 'lastrun': lastrun, 176 'last_date': self. config.getdate(177 'rattail.luigi', 'backfill.{}.last_date'.format(key)),178 'target_date': self. config.getdate(179 'rattail.luigi', 'backfill.{}.target_date'.format(key)),216 'last_date': self.get_backfill_task_setting(key, 'last_date', 217 typ='date'), 218 'target_date': self.get_backfill_task_setting(key, 'target_date', 219 typ='date'), 180 220 }) 181 221 tasks.sort(key=lambda t: t['description']) 182 222 return tasks 183 223 224 def get_backfill_task_setting(self, key, name, typ=None, **kwargs): 225 getter = self.config.get 226 if typ == 'bool': 227 getter = self.config.getbool 228 elif typ == 'date': 229 getter = self.config.getdate 230 value = getter('rattail.luigi', 231 'backfill.task.{}.{}'.format(key, name)) 232 if value is None: 233 value = getter('rattail.luigi', 234 'backfill.backfill-{}.{}'.format(key, name)) 235 if value is not None: 236 warnings.warn("[rattail.luigi] backfill.backfill-* settings are deprecated; " 237 "please use [rattail.luigi] backfill.task.* instead", 238 DeprecationWarning) 239 return value 240 184 241 def get_backfill_task(self, key, **kwargs): 242 if key.startswith('backfill-'): 243 key = key[len('backfill-'):] 244 warnings.warn("backfill task keys use deprecated 'backfill-' prefix", 245 DeprecationWarning, stacklevel=2) 246 185 247 for task in self.get_all_backfill_tasks(): 186 248 if task['key'] == key: … … 240 302 241 303 def record_backfill_last_date(self, task, date, session=None, **kwargs): 242 name = 'rattail.luigi.backfill. {}.last_date'.format(task['key'])304 name = 'rattail.luigi.backfill.task.{}.last_date'.format(task['key']) 243 305 with self.app.short_session(session=session, commit=True) as s: 244 306 self.app.save_setting(s, name, six.text_type(date))
Note: See TracChangeset
for help on using the changeset viewer.