我试图找到一种方法将资源文件复制到Maven构建目标目录中的新名称.几乎我在搜索时发现的所有内容都提供了涉及多个子目录的变通方法,/src/main/resources并通过配置文件在其中进行选择.但是,在我的情况下,这并没有解决问题,即我想要的文件有一个"魔术"名称.
基本上我想要做的是将/src/main/resources/default.DS_Store文件复制到${project.build.directory}/.DS_Store.由于该.DS_Store文件在Mac OSX中具有特殊含义,因此不希望在源树和版本控制中具有该名称的文件.但是,我确实希望文件中的数据位于源树和版本控制中,并在构建期间将其重命名为"魔术"名称.
我开始认为蚂蚁是自动执行此操作的唯一方法.有没有更简单的方法?
我有一个使用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) 简短的问题版本:我的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)