我整个早上都被困在这个问题上,但无法弄清楚。
我的数据的每一行都包含:时间戳、测量值、用户。
如果我将数据作为一个整体绘制出来,效果就很好。但是,如果我尝试使用facet_wrap按日期绘制数据,它会不断失败并出现错误:Error: scale_idmust not beNA。
答案可能是完全显而易见的,但我缺乏知识和关键字来自己找到答案。
我总结了给出以下错误的最简单的示例。
非常感谢任何意见/建议。
代表:
library(tidyverse)
cols <- cols(
timestamp = col_datetime(format = ""),
tps = col_double(),
user = col_character()
)
df <- read_csv("
timestamp, tps, user
2021-01-06 07:05:44, 10, CatA
2021-01-06 09:05:44, 15, CatA
2021-01-06 10:15:44, 10, CatA
2021-01-06 14:05:44, 15, CatA
2021-01-06 07:03:44, 11, CatB
2021-01-06 09:01:44, 13, CatB
2021-01-06 10:12:44, 2, CatB
2021-01-06 16:05:44, 6, CatB
2021-01-07 07:05:44, 2, CatA
2021-01-07 09:05:44, 3, CatA
2021-01-07 10:15:44, 6, CatA …Run Code Online (Sandbox Code Playgroud) This contrived bash script demonstrates the issue.
#!/bin/bash
while read -r node ; do
echo checking $node for Agent;
PID=$(ssh $node ""ps -edf | grep [j]ava | awk '{print $2}'"")
echo $PID got to here.
done < ~/agents_master.list
Run Code Online (Sandbox Code Playgroud)
agents_master.list contains 1 server per line:
server1
server2
server3
Run Code Online (Sandbox Code Playgroud)
Which only outputs the following:
checking server1 for Agent
Authorized use only
25176 got to here
Run Code Online (Sandbox Code Playgroud)
Server 2 and 3 aren't even echoed out to screen by the line echo checking $node...
If …
背景/背景
我有两个脚本,一个可以处理多个客户端的服务器端脚本,和一个连接到服务器的客户端脚本。将消息发送到服务器的任何客户端都会将该消息复制/回显到所有其他连接的客户端。
我被困在那里。
今天下午,我一直在寻找一个透彻的解释,并提供涵盖Perl和TCP套接字的所有示例的详尽解释。Google惊人的大量结果仍然列出了2007-2012年的文章。原来那里似乎有'Socket'模块,随着时间的推移,先添加了IO :: Socket,然后添加了IO :: Select。但是,Perldoc页面并未在一个地方涵盖或引用所有内容,也没有提供足够的交叉引用链接。我收集到,大多数Socket中的原始调用在IO :: Socket中具有等效功能。如果无法通过OO模块使用某些功能,则可以(建议?是/否?)在套接字上进行功能调用...
问题1.远端/对等方已断开连接/套接字不再建立?
我一直在尝试今天遇到的所有事情,包括IO :: Select以及对can_read,has_exception的调用,但是无论套接字是向上还是向下,这些输出都没有区别-我从netstat输出确认了非阻塞套接字被OS(MacOS)立即拆除。
问题2.是否有可读取的数据?
对于我以前的perl客户端脚本,我已经介绍了自己的使用sysread(https://perldoc.perl.org/functions/sysread.html)的方法,但是今天我注意到该recv内容在本页顶部的概述中列出。https://perldoc.perl.org/IO/Socket.html,但是下面的详细信息中没有提及recv方法...
从其他C和Java doco页面中,我收集到一个约定,当执行等同于时,返回undef,0,> 0,在某些实现中为-1 sysread。是否有官方的Perl规范可以与我联系,以描述Perl已实现的内容?sysread或recv是首先从TCP套接字读取数据的“正确”方式吗?
我没有在这里提供代码,因为我是从“最佳实践”的角度询问的,进行客户端-服务器通信的“正确”方法是什么?轮询是正确的开始吗?有某种我错过了的事件驱动方法吗?
我诚挚的歉意是否已经提供了我所要求的内容,但是google一直给我相同的旧结果页和派生博客/文章,这些内容我已经读过。
提前谢谢了。
最终,我发现我的代码在标量上下文而不是列表上下文中得到评估,即使我在赋值周围有()。
第一个问题是为什么在表达式/赋值上加上“ || die ...”会导致它在标量上下文中求值?
2,在进行列表分配时是否可以使用“ || die ....”成语/等效词?
这是演示该问题的示例代码。
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper qw(Dumper);
my $h1 = {
var => "1",
bar => "1",
baz => "1",
};
my $h2 = {
var => "2",
bar => "2",
baz => "2",
};
my $ds;
$ds->{rules} = [$h1,$h2];
print "TEST1\n";
print Dumper($ds);
print "TEST2\n";
my (@processes) = @{$ds->{rules}};
print Dumper(\@processes);
print "@processes\n";
print "TEST3\n";
(@processes) = @{$ds->{rules}} || die "unable to get rules form config.. \n";
print …Run Code Online (Sandbox Code Playgroud)