小编ajd*_*ajd的帖子

在Windows上使用Git,在HTTP代理后面,而不在磁盘上存储代理密码

我在Windows上使用Git,在公司网络上,我使用基本身份验证的HTTP代理.出站SSH不起作用,因此我必须通过代理使用HTTPS.

我知道如何使用git config http.proxy配置设置http://[username]:[password]@[proxy]:[port].

但是,特别是因为这是一台共享机器,我宁愿不将我的密码存储在我的.gitconfig.另外,更改我.gitconfig使用git config命令会在我的bash历史记录中留下我的密码,所以即使我记得.gitconfig在会话结束时清除我,我几乎肯定会忘记清除我的历史记录.

我试过设置http.proxy没有密码,徒劳地希望我在尝试推/拉时提示我输入密码,但我只需要407代理身份验证.我在网上找到的所有信息似乎都忽略了以明文形式保存密码的问题.gitconfig,或者处理NTLM代理.

我很乐意在每次需要连接时输入我的代理详细信息 - 目前我能看到的最佳解决方案是编写一个包装脚本,提示我输入密码并在调用时将其设置为环境变量git.这是一个不错的解决方案,并且在脚本中为单个调用设置环境变量是否有任何安全隐患?最好是否有可用于此的内置设置或现有工具?

git proxy http git-config

33
推荐指数
2
解决办法
5万
查看次数

Celery - 运行一组具有复杂依赖关系的任务

在我正在处理的应用程序中,用户可以执行"转换",其中包含"步骤".步骤可以对其他步骤具有任意数量的依赖性.我希望能够调用转换并将这些步骤作为单独的Celery任务并行执行.

理想情况下,我喜欢celery-tasktree的一些东西,除了一般的有向非循环图,而不仅仅是树,但似乎还没有这样的库存在.

首先想到的解决方案是对标准拓扑排序的并行调整 - 而不是确定满足依赖关系的步骤的线性排序,我们确定可以在开始时并行执行的整个步骤集,然后是可以在第2轮中执行的整个步骤集,依此类推.

但是,当任务占用不同的时间并且工作人员必须空闲等待较长时间运行的任务时,这不是最佳的,而现在有任务可以运行.(对于我的具体应用,此解决方案现在可能还不错,但我仍然想弄清楚如何优化它.)

https://cs.stackexchange.com/questions/2524/getting-parallel-items-in-dependency-resolution中所述,更好的方法是直接在DAG上运行 - 在每个任务完成后,检查是否有任何依赖现在可以运行任务,如果是,则运行它们.

实现这样的事情最好的方法是什么?我不清楚有一种简单的方法可以做到这一点.

据我所知,Celery的组/链/和弦原语不够灵活,不足以让我表达完整的DAG - 虽然我可能在这里错了?

我想我可以为当前任务完成后通知相关任务的任务创建一个包装器 - 我不确定处理这种通知的最佳方法是什么.访问应用程序的Django数据库并不是特别简洁,并且很难将其转换为通用库,但Celery本身并没有为此提供明显的机制.

celery celery-task django-celery

5
推荐指数
1
解决办法
963
查看次数

标签 统计

celery ×1

celery-task ×1

django-celery ×1

git ×1

git-config ×1

http ×1

proxy ×1