Odoo Help


How to send messages about progress from an executing model method

on 3/14/16, 9:05 PM 872 views


I have a python method which execution lasts some time and would like to inform the user about process progres. I wonder if there is a way to do it from inside the method or somehow else? Can anybody provide guidance on it?

Thanks in advance for your reply.


Axel Mendoza

--Axel Mendoza--
| 7 8 8
Camaguey, Cuba
--Axel Mendoza--

DevOps - Full stack - Software Architect - Developer - Technology Integrator

I could help you to develop anything and solve complex problems based on technologies, integrations and tricky stuffs mostly in Python with OpenERP/Odoo, Zato, Django and many others frameworks programming languages and technologies.

I offers consulting services to anyone with an unanswered questions or needs for customizations. Think about it, maybe it's better to have an expert to solve your issues and projects than having a full-time employee trying to understand what to do and how

Reach me at aekroft@gmail.com

Axel Mendoza
On 3/15/16, 5:54 AM

You could publish messages in a chat channel for that and open the chat channel for the user. I planned to do that in a module but i dont do it yet. If you do that please share your results

It seems to me that I will have to submit the process as a cron job besides using chat. Since I haven't done anything neither with crons nor with chat, I will have to find out about them and as soon as I have worked on this solution will be back here to comment it. Thanks a lot for your response.

on 3/15/16, 10:57 AM
On 3/15/16, 10:56 AM


I am done and it seems to be working allright. Took me some time since channels were not working properly on my installed version and had to find out some bit more. In order to reach the intended behavior, I am calling from my view the function named submit_long_process and this in turn calls the long-process function which writes to the channel.

Thanks a lot Axel. I appreciate again your guidance.



def submit_long_process(self):

from openerp.exceptions import ValidationError

import datetime

from dateutil.parser import parse

from openerp import fields

id_value='(None, '+str(self.id)+',)'


'name': 'Cron job para enviar mensajes de correo---ok',

'function': 'long_process',

'args': id_value,

'model': 'hr.payslip.run',

'doall': False




return True


def long_process(self, id):


values={'body': u'Starting long process.......',

'model': 'mail.channel', 'attachment_ids': [], 'res_id': 4,

'email_from': u'test <test@empresa.com>', 'parent_id': False,

'subtype_id': 1, 'author_id': 6, 'message_type': u'comment',

'partner_ids': [], 'subject': False}


new_rec = k_obj.create({'body': u'Starting long process.......',

'model': 'mail.channel',

'res_id': 4,

'email_from': u'test <test@empresa.com>',

'parent_id': False,

'subtype_id': 1,

'author_id': 6,

'message_type': u'comment',

'record_name': 'canal1',

'reply_to': 'Administrator <admin@example.com>',

'message_type': 'comment',

'email_from': 'Administrator <admin@example.com>',

'message_id': my_id})

{{---------------RUNNING LONG PROCESS-------}}}

return True


happy to help, thanks for sharing it

Axel Mendoza
on 3/17/16, 4:18 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 3/14/16, 9:05 PM
Seen: 872 times
Last updated: 3/17/16, 2:38 AM