Commit 0b8ed63d50cddc7453e2e3594009c889f5078432
1 parent
38507bec
Exists in
master
and in
39 other branches
Fix import_emails
Showing
1 changed file
with
10 additions
and
9 deletions
Show diff stats
src/super_archives/management/commands/import_emails.py
| ... | ... | @@ -33,6 +33,8 @@ class Command(BaseCommand, object): |
| 33 | 33 | THREAD_CACHE = {} |
| 34 | 34 | EMAIL_ADDR_CACHE = {} |
| 35 | 35 | |
| 36 | + lock_file = '/var/lock/colab/import_emails.lock' | |
| 37 | + | |
| 36 | 38 | # A new command line option to get the dump file to parse. |
| 37 | 39 | option_list = BaseCommand.option_list + ( |
| 38 | 40 | make_option('--archives_path', |
| ... | ... | @@ -246,6 +248,7 @@ class Command(BaseCommand, object): |
| 246 | 248 | # This anti-pattern is needed to avoid the transations to |
| 247 | 249 | # get stuck in case of errors. |
| 248 | 250 | transaction.rollback() |
| 251 | + os.remove(self.lock_file) | |
| 249 | 252 | raise |
| 250 | 253 | |
| 251 | 254 | count += 1 |
| ... | ... | @@ -257,19 +260,15 @@ class Command(BaseCommand, object): |
| 257 | 260 | def handle(self, *args, **options): |
| 258 | 261 | """Main command method.""" |
| 259 | 262 | |
| 260 | - lock_file = '/var/lock/colab/import_emails.lock' | |
| 261 | 263 | |
| 262 | 264 | # Already running, so quit |
| 263 | - if os.path.exists(lock_file): | |
| 265 | + if os.path.exists(self.lock_file): | |
| 264 | 266 | self.log(("This script is already running. (If your are sure it's " |
| 265 | - "not please delete the lock file in %s')") % lock_file) | |
| 267 | + "not please delete the lock file in %s')") % self.lock_file) | |
| 266 | 268 | sys.exit(0) |
| 267 | 269 | |
| 268 | - if not os.path.exists(os.path.dirname(lock_file)): | |
| 269 | - os.mkdir(os.path.dirname(lock_file), 0755) | |
| 270 | - | |
| 271 | - run_lock = file(lock_file, 'w') | |
| 272 | - run_lock.close() | |
| 270 | + if not os.path.exists(os.path.dirname(self.lock_file)): | |
| 271 | + os.mkdir(os.path.dirname(self.lock_file), 0755) | |
| 273 | 272 | |
| 274 | 273 | archives_path = options.get('archives_path') |
| 275 | 274 | self.log('Using archives_path `%s`' % self.default_archives_path) |
| ... | ... | @@ -277,9 +276,11 @@ class Command(BaseCommand, object): |
| 277 | 276 | if not os.path.exists(archives_path): |
| 278 | 277 | raise CommandError('archives_path (%s) does not exist' % |
| 279 | 278 | archives_path) |
| 279 | + run_lock = file(self.lock_file, 'w') | |
| 280 | + run_lock.close() | |
| 280 | 281 | |
| 281 | 282 | self.import_emails(archives_path, |
| 282 | 283 | options.get('all'), options.get('exclude_lists')) |
| 283 | 284 | |
| 284 | - os.remove(lock_file) | |
| 285 | + os.remove(self.lock_file) | |
| 285 | 286 | ... | ... |