不在djcelery中记录芹菜任务参数

时间:2016-04-20 04:54:31

标签: python django passwords celery djcelery

我使用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. 我想在花中清除现有的任务日志,可以吗?
  3. 更新

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

    更新

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

    更新

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

    由于

1 个答案:

答案 0 :(得分:0)

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

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