queue icon indicating copy to clipboard operation
queue copied to clipboard

[IMP] Add queue_job.keep_context ir.config_parameter

Open amh-mw opened this issue 2 years ago • 6 comments

When this parameter is set, queue_job always preserves the entire context. This honors the principle of least surprise, in that a developer can easily convert a record.method() call to record.with_delay().method() with the expectation that it will actually execute the same, simply at a later time.

Fixes #406.

amh-mw avatar Dec 21 '23 21:12 amh-mw

Hi @guewen, some modules you are maintaining are being modified, check this out!

OCA-git-bot avatar Dec 21 '23 21:12 OCA-git-bot

Just for general amusement, abridged from code that I wrote to import over a decade of users and data from a legacy system:

self.with_context({
    'bus_no_notify': True, # custom
    'calendar_event_create_no_constrain': True, # custom
    'mail_auto_subscribe_no_notify': True, # odoo
    'mail_create_nolog': True, # odoo
    'mail_create_nosubscribe': True, # odoo
    'mail_notrack': True, # odoo
    'no_geo_complete': True, # custom
    'no_mail_to_attendees': True, # odoo
    'no_reset_password': True, # odoo
    'quickbooks_no_prepare': True, # custom
    'tracking_disable': True # odoo
}).with_delay(...)._cron_migrate()

It is really important that context is preserved or all kinds of side effects are triggered.

amh-mw avatar Dec 21 '23 22:12 amh-mw

@acsonefho @florian-dacosta Any interest in reviewing this queue_job.keep_context pull request?

amh-mw avatar Dec 21 '23 22:12 amh-mw

@amh-mw If my memory is correct, you should rather port https://github.com/OCA/queue/tree/14.0/queue_job_context from 14 to 15. In 16 it is not necessary anymore as it is the default.

sbidoul avatar Dec 22 '23 08:12 sbidoul

It looks like queue_job_context uses a hardcoded list of context keys that I would have to inherit the class and override?

https://github.com/OCA/queue/blob/089eb3ef9a9c9210384711b6e107433138f9809c/queue_job_context/models/base.py#L12

I don't prefer that. I just want to flip a switch and get all the context.

amh-mw avatar Dec 22 '23 12:12 amh-mw

There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.

github-actions[bot] avatar Apr 21 '24 12:04 github-actions[bot]