diff --git a/__openerp__.py b/__openerp__.py index 663ca66..49f29d8 100644 --- a/__openerp__.py +++ b/__openerp__.py @@ -1,6 +1,6 @@ { 'name' : 'Check mail immediately', - 'version' : '1.0.1', + 'version' : '1.0.0', 'author' : 'IT-Projects LLC, Ivan Yelizariev', 'license': 'LGPL-3', 'category' : 'Social Network', diff --git a/doc/changelog.rst b/doc/changelog.rst deleted file mode 100644 index e72d492..0000000 --- a/doc/changelog.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. _changelog: - -Changelog -========= - -`1.0.1` -------- - -- FIX: incorrectly displayed last updated time when multiple threads (--workers) \ No newline at end of file diff --git a/models.py b/models.py index 3306837..46d5d14 100644 --- a/models.py +++ b/models.py @@ -14,10 +14,17 @@ class FetchMailServer(models.Model): _last_updated = None - run_time = fields.Datetime(string="Launch time") + run_time = fields.Datetime(string="Launch time", compute='_run_time', store=False) + @classmethod + def _update_time(cls): + + cls._last_updated = tools.datetime.now() + + @api.one def _run_time(self): if not self._last_updated: + self._last_updated = tools.datetime.now() src_tstamp_str = self._last_updated.strftime(tools.misc.DEFAULT_SERVER_DATETIME_FORMAT) @@ -26,7 +33,7 @@ class FetchMailServer(models.Model): dst_tz_name = self._context.get('tz') or self.env.user.tz _now = tools.misc.server_to_local_timestamp(src_tstamp_str, src_format, dst_format, dst_tz_name) - return _now + self.run_time = _now @api.model def _fetch_mails(self): @@ -37,10 +44,7 @@ class FetchMailServer(models.Model): raise exceptions.Warning(_('Error'), _('Task can be started no earlier than 5 seconds.')) super(FetchMailServer, self)._fetch_mails() - - res = self.env['fetchmail.server'].sudo().with_context(tz=self.env.user.tz).search([('state', '=', 'done')]) - if res: - res[0].run_time = self._run_time() + self._update_time() class FetchMailImmediately(models.AbstractModel):