diff options
-rw-r--r-- | example_project/settings.py | 3 | ||||
-rw-r--r-- | ishtar_common/data_importer.py | 1 | ||||
-rw-r--r-- | ishtar_common/models_imports.py | 25 | ||||
-rw-r--r-- | ishtar_common/views.py | 4 |
4 files changed, 19 insertions, 14 deletions
diff --git a/example_project/settings.py b/example_project/settings.py index 3ffea90b9..168f17b06 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -19,7 +19,8 @@ if "test" in sys.argv: IMAGE_MAX_SIZE = (1280, 960) # put None if no resizing THUMB_MAX_SIZE = (600, 600) -DISABLE_TASK_TIMEOUT = False +# DISABLE_TASK_TIMEOUT = False # problematic for now +DISABLE_TASK_TIMEOUT = True CACHE_TASK_TIMEOUT = 4 CACHE_SMALLTIMEOUT = 60 CACHE_TIMEOUT = 3600 diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 7088eee08..72b42dd71 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -922,6 +922,7 @@ class Importer(object): getattr(item, func)(context, value) except ImporterError as msg: self.errors.append((idx_line, None, msg)) + print("OK - post - {}".format(item)) return item def initialize(self, table, output='silent', choose_default=False, diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 20c3bf9c4..5b1493173 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -856,20 +856,20 @@ delayed_check = None if settings.USE_BACKGROUND_TASK: @task() - def delayed_import(import_pk, session_key): + def delayed_import(import_pk): try: imp = Import.objects.get(pk=import_pk) except Import.DoesNotExist: pass - imp.importation(session_key=session_key) + imp.importation() @task() - def delayed_check(import_pk, session_key): + def delayed_check(import_pk): try: imp = Import.objects.get(pk=import_pk) except Import.DoesNotExist: pass - imp.check_modified(session_key=session_key) + imp.check_modified() class Import(models.Model): @@ -1132,7 +1132,7 @@ class Import(models.Model): self.state = 'HQ' self.end_date = datetime.datetime.now() self.save() - return delayed_check(self.pk, session_key) + return delayed_check.delay(self.pk) def check_modified(self, session_key=None): self.state = 'HP' @@ -1191,9 +1191,9 @@ class Import(models.Model): self.changed_checked = True self.save() - def delayed_importation(self, session_key): + def delayed_importation(self, request, session_key): if not settings.USE_BACKGROUND_TASK: - return self.importation(session_key=session_key) + return self.importation(request=request, session_key=session_key) put_session_message( session_key, str(_(u"Import {} added to the queue")).format(self.name), @@ -1201,10 +1201,11 @@ class Import(models.Model): self.state = 'IQ' self.end_date = datetime.datetime.now() self.save() - return delayed_import(self.pk, session_key) + return delayed_import.delay(self.pk) def importation(self, session_key=None, line_to_process=None, - simulate=False, return_importer_and_data=False): + simulate=False, return_importer_and_data=False, + request=None): self.state = 'IP' self.end_date = datetime.datetime.now() self.save() @@ -1261,10 +1262,10 @@ class Import(models.Model): msg = str(_(u"Import {} finished with no errors")).format( self.name) msg_cls = "primary" - if session_key: + if session_key and request: put_session_message(session_key, msg, msg_cls) - ids = self.request.session['current_import_id'] \ - if 'current_import_id' in self.request.session else [] + ids = request.session['current_import_id'] \ + if 'current_import_id' in request.session else [] ids.append(self.pk) put_session_var(session_key, 'current_import_id', ids) if importer.match_table: diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 1109b2dc9..7fa69eb66 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1107,7 +1107,9 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): session_key=request.session.session_key) elif action == 'I': if settings.USE_BACKGROUND_TASK: - imprt.delayed_importation(request.session.session_key) + imprt.delayed_importation( + request, request.session.session_key + ) else: imprt.importation() elif action == 'CH': |