Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
3776 Zobrazení

Odoo 14 EE

I have a Scheduled Action.  In the Python Code, I would like to call the action itself (the record of ir.cron) to get ir_cron.lastcall so can pass the value of the last time it ran to the method (e.g. method.my_custom_method(lastcall)).

How can I do this?

Avatar
Zrušit
Nejlepší odpověď
cron_name = 'your_action_name'
cron_id = models.execute_kw(db, uid, password, 'ir.cron', 'search', [
[['cron_name', '=', cron_name]]
])

That should give you the id of your action.


Avatar
Zrušit
Nejlepší odpověď

I've tried logging the nextcall field on the ir.cron

next = env['ir.cron'].browse(37).read(['nextcall'])
log(str(next)), level='info')

while setting the initial date to somewhere in the past and let it repeat missed intervals. I did get 24 log results but in all the logs the "nextcall" values were the same

[{'id': 37, 'nextcall': datetime.datetime(2022, 7, 25, 23, 0)}]

Next I'll look for a context
Avatar
Zrušit

Yes, because you hardcoded the id, so you will only get results of that same action.

Related Posts Odpovědi Zobrazení Aktivita
0
bře 25
1521
4
dub 24
174387
0
pro 23
2291
5
čvc 25
228536
1
pro 22
3426