标签: pipeline

Gitlab双管道触发问题

当推送提交时,会触发两个管道作业。但手动启动管道时并没有发生同样的情况。

我应该去哪里检查?指示分支活动的从左或从右的箭头是什么意思?

我不得不说的一件事是,有一个合并请求待处理,是否会导致此问题?

在此输入图像描述

pipeline gitlab

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

步进式管道有什么好处

在我们公司,我是个新人,他们几乎为每个 Native PowerShell cmdlet 都有一个包装器,主要是为了添加更多日志记录和错误处理。我试图反驳这一点,并参考内部 PowerShell 功能来创建一个代理命令,例如:

$GCI = Get-Command Get-ChildItem
[System.Management.Automation.ProxyCommand]::Create($GCI)
Run Code Online (Sandbox Code Playgroud)

但我在这里缺乏一些知识。
SteppablePipeline 和使用本机 PowerShell 语法之间有什么区别(如果有)。
换句话说,在Process块中,有什么区别:

$steppablePipeline.Process($_)
Run Code Online (Sandbox Code Playgroud)

并使用本机 PowerShell 语法:

$_ |Microsoft.PowerShell.Management\Get-ChildItem # In this example
Run Code Online (Sandbox Code Playgroud)

我知道我正在寻找一般信息,但在我看来,几乎没有任何关于例如ScriptBlock.GetSteppablePipeline方法的信息

powershell pipeline

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

azure devops 上的 Vitest 覆盖范围

我正在尝试运行一个 azure devops 管道,其中包含具有覆盖范围的 vitest 运行。问题是 azure 覆盖收集器插件仅接受 jacoco/cobertura 格式。我开玩笑地看到有可能和一个 cobertura 记者一起跑步吗?有没有办法为 vitest 做这个?

谢谢

pipeline azure vue.js devops vitest

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

为什么 rem 会影响通过管道输出的代码块?

more我喜欢使用括号中的命令块,因为它允许我立即将块中所有命令的输出通过管道传输到(或任何其他命令)。

通常,我也可以在这些块内添加注释(rem)。

但是,我似乎无法将这两个功能结合起来:带有注释的块more(或任何其他命令)根本不被执行。这是为什么?能解决吗?

@echo off
rem This works (prints X1)
(
    echo X1
)

rem This works (prints X2)
(
    echo X2
) | more

rem This works (prints X3)
(
    rem
    echo X3
)

rem Why does this print nothing?
(
    rem
    echo X4
) | more

rem Or this?
(
    echo X4
    rem
) | more

rem This works (prints X5)
(
    :: Using colons instead of rem
    echo X5
) | more
Run Code Online (Sandbox Code Playgroud)

windows comments pipeline batch-file

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

std :: cin真的很慢

所以我试图给自己写一个linux管道的命令.可以把它想象成gnu'cat'或'sed'的复制品,它从stdin获取输入,做一些处理并写入stdout.

我最初写了一个AWK脚本,但想要更多性能,所以我使用了以下c ++代码:

std::string crtLine;
crtLine.reserve(1000);
while (true)
{
    std::getline(std::cin, crtLine);
    if (!std::cin) // failbit (EOF immediately found) or badbit (I/O error)
        break;

    std::cout << crtLine << "\n";
}
Run Code Online (Sandbox Code Playgroud)

这正是cat(没有任何参数).事实证明,这个程序和它的awk一样慢,并且远不及cat那么快.

在1GB文件上测试:

$time cat 'file' | cat | wc -l
real    0m0.771s

$time cat 'file' | filter-range.sh | wc -l
real    0m44.267s
Run Code Online (Sandbox Code Playgroud)

我没有使用getline(istream,string)来尝试cin.getline(缓冲区,大小),但没有改进.这很令人尴尬,这是一个缓冲问题吗?我也试过一次取100KB而不是一行,没有帮助!有任何想法吗?

编辑:你们所说的有道理,但罪魁祸首不是字符串构建/复制,也不是扫描换行符.(也不是缓冲区的大小).看看这两个程序:

char buf[200];
while (fgets(buf, 200, stdin))
    std::cout << buf;

$time cat 'file' | ./FilterRange > /dev/null
real    0m3.276s




char buf[200];
while (std::cin.getline(buf, 200))
    std::cout << buf << …
Run Code Online (Sandbox Code Playgroud)

c++ pipeline cout cin

3
推荐指数
1
解决办法
3232
查看次数

MIPS流水线时序图

我想确认以下时序图是否适用于MIPS 5阶段管道(*=停顿):

               |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
LW R1, 0(R4)   | IF | ID | EX |  M |  W |    |    |    |    |    |    |    |    |    |    |    |
LW R2, 400(R4) |    | IF | ID | EX |  M |  W |    |    |    |    |    | …
Run Code Online (Sandbox Code Playgroud)

pipeline mips computer-architecture

3
推荐指数
1
解决办法
3801
查看次数

如何在CmdletBinding()脚本中定义函数?

我正在编写一个脚本,我想使用PowerShell的CmdletBinding().有没有办法在脚本中定义函数?当我尝试时,PowerShell在表达式或语句中抱怨"意外的toke'函数"

这是我正在尝试做的简化示例.

[CmdletBinding()]
param(
    [String]
    $Value
)

BEGIN {
    f("Begin")
}

PROCESS {
    f("Process:" + $Value)
}

END {
    f("End")
}

Function f() {
    param([String]$m)
    Write-Host $m
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,编写模块是浪费的开销.这些函数只需要可用于这一个脚本.我不想弄乱模块路径或脚本位置.我只想运行一个包含其中定义的函数的脚本.

powershell pipeline function cmdlet

3
推荐指数
1
解决办法
1919
查看次数

将stdout传递给Perl时,如何让它打印换行符?

我刚刚发现将stdout传输到Perl中,我很惊讶你甚至可以这样做:

[user@folder] $ echo print 1/3 | perl
0.33333[user@folder] $
Run Code Online (Sandbox Code Playgroud)

根据我的理解,你将print命令放入Perl,并使用Perl的代码进行浮点计算.请指正.但是,每次我这样做,我都会得到一个没有换行符的答案.我到处搜索,我只是不能将这些术语的关键字足以创建答案.

这是我正在谈论的内容的链接,在海报旁边 Thor: 我如何在bash中使用浮点除法?

他给出了一个惊人的答案,但我无法评论或给用户发消息,所以我决定在这里创建一个新问题.

我仍然试图围绕这是如何工作,变量.

$ three=3
$ echo $three/3 | perl
1[user@folder] $
Run Code Online (Sandbox Code Playgroud)

奖金问题:
它起初就像我试图让bash在算术运算中输出浮点数.我不明白为什么bc不能返回浮动.据说它可以,但它对我不起作用.

理想的情况是:

$ echo 1/3 | bc
0
$
Run Code Online (Sandbox Code Playgroud)

应该返回.333而不是0.我正在委托一个工具bc,并且bc应该能够做浮动.我只是不明白发生了什么.

bash terminal perl pipeline bc

3
推荐指数
1
解决办法
514
查看次数

父子进程随机结束(linux,c,fork())

任务是使用fork和divide and conquer算法从input.dat按升序对数组进行排序.

所以我使用这个编写了一个代码,但父进程的结束速度比子进程快.我的代码中有以下行,但父母不会等他们的孩子.

while(wait(NULL)>0);
Run Code Online (Sandbox Code Playgroud)

我的代码的一点解释:

在input.dat中是一个具有以下形式的数组:

(数组的长度)(空格)(第一个数字)(空格)(第二个数字)......

例:

6 2 3 1 4 5 6

所以我在数组中读取,并将其拆分为两个结构中创建的两个数组,用于扭曲到管道中.之后我调用了divitimp函数,对表单有一点解释:

(在我的代码中)divitimp(readwhilegoingdown(lefeleolvas),writewhilegoingdown(lefeleir),readwhilecomingup(felfeleolvas),writewhilecomingup(felfeleir))

divitimp函数启动后我使用fork,如果它工作(没有错误)我看它是子进程还是父进程(if和else中的代码是相同的),之后(在if中)我如果结构中的数组不长于两个元素,则从管道中读出一个结构我将已排序的结构写入writewhilecomingup管道而不回调divitimp函数,如果数组长于2,我将数组拆分为两个在两个结构中创建的数组,我将它们写入writewhilegoingdown管道并回调divitimp函数.

在这些之后,我想等到子进程结束,我使用merge sort对排序的数组进行排序,然后将结果(eredmeny)写入writewhilecomingup管道.

divitimp函数完成后,我返回main并从readwhilegoingup管道读取解决方案结构,并将其写入output.dat.

问题是进程(父进程和子进程)以随机顺序结束.

源代码(很抱歉,但没有代码我无法解释问题):

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

typedef struct{
int n;
int a[100];
}TOMB;

void divitimp(int lefeleolvas, int lefeleir,int felfeleolvas,int felfeleir){
pid_t pid;
int i;
if ((pid = fork()) < 0){
    perror("fork hiba");
}
else{
    printf("pid= %i \n",pid);
    if(pid==0){
        TOMB valtozo;
        read(lefeleolvas,& valtozo, sizeof(valtozo));
        if(valtozo.n>2){
            TOMB sv,sv1;
            sv.n=valtozo.n/2;
            sv1.n=valtozo.n-valtozo.n/2;
            printf("Uj ismetles:%d ",sv.n);
            for(i=0;i<sv.n;i++){ …
Run Code Online (Sandbox Code Playgroud)

c linux fork pipeline

3
推荐指数
1
解决办法
103
查看次数

sklearn中带有数据标签的定制变压器Mixin

我正在做一个小项目,试图在我的数据不平衡的情况下应用SMOTE“综合少数族裔过采样技术”。

我为SMOTE功能创建了一个定制的TransformerMixin ..

class smote(BaseEstimator, TransformerMixin):
    def fit(self, X, y=None):
        print(X.shape, ' ', type(X)) # (57, 28)   <class 'numpy.ndarray'>
        print(len(y), ' ', type)     #    57      <class 'list'>
        smote = SMOTE(kind='regular', n_jobs=-1)
        X, y = smote.fit_sample(X, y)

        return X

    def transform(self, X):
        return X
Run Code Online (Sandbox Code Playgroud)
model = Pipeline([
        ('posFeat1', featureVECTOR()),
        ('sca1', StandardScaler()),
        ('smote', smote()),
        ('classification', SGDClassifier(loss='hinge', max_iter=1, random_state = 38, tol = None))
    ])
    model.fit(train_df, train_df['label'].values.tolist())
    predicted = model.predict(test_df)
Run Code Online (Sandbox Code Playgroud)

我在FIT函数上实现了SMOTE,因为我不希望将其应用于测试数据。

不幸的是,我得到了这个错误:

     model.fit(train_df, train_df['label'].values.tolist())
  File "C:\Python35\lib\site-packages\sklearn\pipeline.py", line 248, in fit
    Xt, fit_params = …
Run Code Online (Sandbox Code Playgroud)

python pipeline scikit-learn

3
推荐指数
1
解决办法
1168
查看次数