0

我使用 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 时,用户名/密码也在那里。

所以我的问题是:

  1. 我们可以只在内存中制作参数,以便没有人可以看到它们吗?
  2. 我想清除现有的任务登录花,可以吗?

更新:

我认为 args 是由 djcelery 捕获的,因为我发现这些数据存储在 djcelery_taskstate 中。

更新:

  • Djcelery 使用 celerycam 捕获这些信息并将它们存储在后端并在 django admin 中显示它们。
  • 花,我认为,使用一些类似的方法来捕获这些信息并在花页中显示它们。但是下面的方法可以防止花捕获一些敏感数据。 http://flower.readthedocs.org/en/latest/config.html#format-task
  • 我仍然没有找到禁用 celerycam 捕获这些数据的方法。

更新:

最后,我用mysql触发器修复了celerycam。每当它将密码存储到数据库中时,我都会使用触发器来擦除密码

谢谢

4

1 回答 1

0

我不确定如何从花屏中删除用户名和密码,但如果你想删除或清除正在显示的任务,那么你可以继续并重新启动花。

花中所有现有\已完成的任务将从列表中消失。

于 2016-04-20T05:42:17.467 回答