我使用 django + celery + python + djcelery + Flower 进行开发。在django看来。我做了类似的事情:
def handle(req):
task_name.apply_async(args=(req.POST['username'], req.POST['password'], 'p1', 'p2'), queue='x')
一切正常。
但是当我检查芹菜花时,我发现用户名/密码在那里。当我在 django admin 中检查 djcelery 时,用户名/密码也在那里。
所以我的问题是:
- 我们可以只在内存中制作参数,以便没有人可以看到它们吗?
- 我想清除现有的任务登录花,可以吗?
更新:
我认为 args 是由 djcelery 捕获的,因为我发现这些数据存储在 djcelery_taskstate 中。
更新:
- Djcelery 使用 celerycam 捕获这些信息并将它们存储在后端并在 django admin 中显示它们。
- 花,我认为,使用一些类似的方法来捕获这些信息并在花页中显示它们。但是下面的方法可以防止花捕获一些敏感数据。 http://flower.readthedocs.org/en/latest/config.html#format-task
- 我仍然没有找到禁用 celerycam 捕获这些数据的方法。
更新:
最后,我用mysql触发器修复了celerycam。每当它将密码存储到数据库中时,我都会使用触发器来擦除密码
谢谢