小编wmo*_*ell的帖子

在Maven中重命名资源

我试图找到一种方法将资源文件复制到Maven构建目标目录中的新名称.几乎我在搜索时发现的所有内容都提供了涉及多个子目录的变通方法,/src/main/resources并通过配置文件在其中进行选择.但是,在我的情况下,这并没有解决问题,即我想要的文件有一个"魔术"名称.

基本上我想要做的是将/src/main/resources/default.DS_Store文件复制到${project.build.directory}/.DS_Store.由于该.DS_Store文件在Mac OSX中具有特殊含义,因此不希望在源树和版本控制中具有该名称的文件.但是,我确实希望文件中的数据位于源树和版本控制中,并在构建期间将其重命名为"魔术"名称.

我开始认为蚂蚁是自动执行此操作的唯一方法.有没有更简单的方法?

maven-2

47
推荐指数
5
解决办法
7万
查看次数

nginx 容器的 Docker 健康检查

我有一个使用nginx来自 Docker Hub的官方docker 容器的项目,通过 Docker Compose 启动。我在 Docker Compose 中为我的每个容器配置了健康检查,最近这个nginx容器的健康检查表现得很奇怪;在启动时docker-compose up -d,我的所有容器都启动并开始运行健康检查,但nginx容器看起来从未运行过健康检查。如果我docker exec进入容器,我可以手动运行脚本就好了,如果我重新启动容器,健康检查会正常运行。

示例输出docker ps

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                            PORTS                                                                       NAMES
458a55ae8971        my_custom_image           "/tini -- /usr/local…"   7 minutes ago       Up 7 minutes (healthy)                                                                                        project_worker_1
5024781b1a73        redis:3.2                 "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes (healthy)            127.0.0.1:6379->6379/tcp                                                    project_redis_1
bd405dde8ce7        postgres:9.6              "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes (healthy)            127.0.0.1:15432->5432/tcp                                                   project_postgres_1
93e15c18d879        nginx:mainline            "nginx -g 'daemon of…"   7 minutes …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-compose

6
推荐指数
4
解决办法
1万
查看次数

Django Channels / Daphne中的Websocket超时

简短的问题版本:我的Daphne配置,消费者代码或客户代码在做什么?

channels==1.1.8
daphne==1.3.0
Django==1.11.7
Run Code Online (Sandbox Code Playgroud)

详情如下:


我正在尝试使用Django Channels和Daphne接口服务器保持持久的Websocket连接打开。我发动达芙妮与大多默认参数:daphne -b 0.0.0.0 -p 8000 my_app.asgi:channel_layer

我看到连接在浏览器中闲置一段时间后(超过20秒)关闭。在CloseEvent与断开送了一个code价值1006(异常关闭),不reason设置,并wasClean设置为false。这应该是服务器在不发送显式关闭帧的情况下关闭连接。

Daphne CLI具有--ping-interval--ping-timeout标志,其默认值分别为20和30秒。对于前者,这记录为“ WebSocket在发送保持活动ping之前必须处于空闲状态的秒数”,对于“后者,如果没有响应,则关闭WebSocket之前的秒数”。我读到这是因为Daphne将等到WebSocket闲置20秒后发送ping,如果30秒后未收到响应,它将关闭Websocket。相反,我看到的是空闲20秒后连接关闭。(在尝试使用默认值的三个尝试中,分别在20081ms,20026ms和20032ms之后关闭)

如果我将服务器更改为以启动daphne -b 0.0.0.0 -p 8000 --ping-interval 10 --ping-timeout 60 my_app.asgi:channel_layer,则连接仍会关闭,大约有20秒的空闲时间。(经过三次尝试并更新ping之后,在19892ms,20011ms,19956ms之后关闭)

代码如下:


consumer.py

import logging

from channels import Group
from channels.generic.websockets import JsonWebsocketConsumer

from my_app import utilities

logger = logging.getLogger(__name__)

class DemoConsumer(JsonWebsocketConsumer):
    """
    Consumer echos the incoming message to all connected Websockets,
    and attaches …
Run Code Online (Sandbox Code Playgroud)

python django websocket django-channels daphne

4
推荐指数
1
解决办法
3190
查看次数