如何在Docker中查看正在运行的容器/进程的完整命令?
$ docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b6291859b61 nginx:1.7.8 "nginx -g 'daemon of 4 minutes ago Exited (0) 4 minutes ago thirsty_brattain
Run Code Online (Sandbox Code Playgroud)
我只能在这里看到"nginx -g"守护进程,而不是完整的命令.
在我们的回购中,我们最终会收到很多这样的提交:
Merge branch 'master' of bitbucket.org:user/repo
Run Code Online (Sandbox Code Playgroud)
每当开发人员将他/她的本地分支同步到顶级仓库时,就会发生这种情况.
无论如何要避免这种合并提交地狱混乱所有的回购日志?在以某种方式启动拉取请求时可以避免它们吗?
我知道如果仅在我的本地VM中完成,我可以执行git rebase,GitHub/BitBucket UI中是否有任何等价物?
你们是怎么做到的?
如何在Linux系统中找到已安装的python-lxml版本?
>>> import lxml
>>> lxml.__version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__version__'
>>> from pprint import pprint
>>> pprint(dir(lxml))
['__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__',
'__path__',
'get_include',
'os']
>>>
Run Code Online (Sandbox Code Playgroud)
似乎无法找到它
我正在使用Gin,https: //gin-gonic.github.io/gin/,用Golang构建一个简单的RESTful JSON API.
路线设置如下:
func testRouteHandler(c *gin.Context) {
// do smth
}
func main() {
router := gin.Default()
router.GET("/test", testRouteHandler)
router.Run(":8080")
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将参数传递给testRouteHandler函数?例如,公共数据库连接可能是想要在路由之间重用的东西.
在全局变量中使用它的最佳方法是什么?或者Go中有一些方法可以将额外的变量传递给testRouteHandler函数吗?Go中的函数是否有可选参数?
PS.我刚刚开始学习Go,所以可能是一些我很想念的东西:)
我正在尝试验证一个字符串,该字符串应该包含ISO 8601格式的时间戳(通常用于JSON).
strptime在验证零填充时,Python 似乎非常宽容,请参阅下面的代码示例(注意小时缺少前导零):
>>> import datetime
>>> s = '1985-08-23T3:00:00.000'
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f')
datetime.datetime(1985, 8, 23, 3, 0)
Run Code Online (Sandbox Code Playgroud)
它优雅地接受一个字符串,该字符串例如小时不填充零,并且不会ValueError像我期望的那样抛出异常.
有没有办法强制执行strptime来验证它是否为零填充?或者Python的标准库中是否还有其他内置函数?
我想避免regexp为此写自己的.
我正在编写一个应用程序,它需要大量的文本作为输入,可以是任何字符编码,我想以UTF-8保存它们.我不会接收或不信任随数据定义的字符编码(如果有的话).
我有一段时间使用Pythons库chardet检测原始字符编码http://pypi.python.org/pypi/chardet,但最近遇到了一些问题,我发现它不支持斯堪的纳维亚语编码(例如ISO-8859-1).除此之外,获取结果需要大量的时间/ CPU/mem.对于2MB的文本文件,大约40秒.
我试过使用标准的Linux文件
file -bi name.txt
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的所有文件都为我提供了100%的结果.对于2MB的文件,这个约为0.1s.它也支持斯堪的纳维亚字符编码.
所以,我猜使用文件的优势很明显.有什么缺点?我错过了什么吗?
我有一个像变量
a = 3
Run Code Online (Sandbox Code Playgroud)
对于a的某些值,我有我想调用的相同函数:
case a of
3 -> print "hello"
4 -> print "hello"
5 -> print "hello"
6 -> print "hello something else"
Run Code Online (Sandbox Code Playgroud)
因此,对于a = 3,a = 4和a = 5,我进行相同的函数调用.我能把这些组合得更好吗?我有点想找到一个解决方案:
case a of
3 || 4 || 5 -> print "hello"
6 -> print "hello something else"
Run Code Online (Sandbox Code Playgroud)
这当然不起作用,但希望你得到我想要的结果.
谢谢.
我正在尝试从运行在Google App Engine之上的Python应用程序(使用PyMySQL 0.7.9)连接到Cloud SQL.
我的连接字符串看起来像这样(凭证当然是假的):
pymysql.connect(unix_socket='/cloudsql/gae_project_name:cloudsql_instance_name',
user='user', password='', db='database_name')
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息是:
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 97] Address family not supported by protocol)")
这就像PyMySQL没有意识到我正在尝试通过Unix套接字连接并尝试使用host参数的默认值(我认为是localhost)
我能够使用相同的连接字符串连接MySQLdb.
我有一些工作人员正在侦听 RabbitMQ 队列,并且正在执行一些磁盘 I/O 密集型工作 - 打开 ~18MB 文件,进行一些解析并写入一些文件。在处理一项工作时,一个工人可能会占用多达 200MB 的内存......这很好。
但是,我的问题是工作人员继续处于空闲状态并仍在保留此数量的内存。工作完成后,我盲目地尝试使用 gc.collect() 手动进行一些垃圾收集,但没有任何结果。
我收到工作的工人班看起来像这样:
class BuildWorker(worker.Worker):
def callback(self, ch, method, properties, body):
fp = FileParseAndStuff()
fp.execute_job(ch, method, properties, body)
fp = None
Run Code Online (Sandbox Code Playgroud)
不应该在 fp 中发生的所有事情都包含在内存中并在我将该对象设置为 None 后将其删除吗?我也尝试使用 Python 的 del 语句,但没有任何改进。
如果重要的话,我正在使用 Python 2.7 和 python-pika 与 RabbitMQ 服务器进行通信。
我有一堆工人在等待任务(使用 Django 作为 ORM)。我的问题是,如果在给定的时间内没有任务(无论 MySQL wait_timeout 变量设置为什么),MySQL 连接就会超时,因此工作人员会死亡。
我解决这个问题的第一种方法是简单地将 wait_timeout 增加到一个更高的整数,但我认为更好的解决方案可能是每 30 分钟左右 ping MySQL,如果没有保持连接活动的任务。
所以我的问题是;我如何使用 Django ORM 简单地 ping MySQL 来保持连接活跃?这里的最佳实践是什么,只做一个简单的愚蠢查询?