Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
3746 Lượt xem

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?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất
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.


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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
Ảnh đại diện
Huỷ bỏ

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

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 3 25
1514
4
thg 4 24
174375
0
thg 12 23
2279
5
thg 7 25
228500
1
thg 12 22
3412