1

plone.app.async用来将任务卸载给特定的工作人员,而前端工作人员则尽可能快地为页面提供服务。

plone.app.async使用创建任务的同一用户运行异步任务,因此我正在执行以下操作以覆盖它:

from AccessControl.SecurityManagement import newSecurityManager
from plone.app.async import Job
from plone.app.async import queue
from zope.component.hooks import getSite

site = getSite()
root = site.getPhysicalRoot()
admin_user = root.acl_users.getUserById('admin')

newSecurityManager(None, admin_user)
job = Job(
    some_random_task,
    parameter1,
    parameter2,
)
queue(job)

但是感觉很鸡肋...

问题是外部脚本(不幸的是无法控制)正在向我们的网站发送数据以在其上创建对象,因此需要相当多的权限才能创建、移动、更改工作流状态等。

有没有更好的方法来覆盖plone.app.async使用的用户?

4

0 回答 0