从Powershell
运行(在Linux计算机上)和在Windows计算机本地运行时,Jenkins
脚本的不同输出。
产生的输出是不同的,我不知道为什么。 Jenkins
是否有可能做与本地计算机不同的事情?
该脚本位于文件Script.ps1
中,其内部Jenkins
是“执行Windows批处理命令”,该命令是powershell -File C:\Folder\Script.ps1
在此方面的任何帮助将非常有价值,谢谢!
P.S,相差1 ms,这意味着输出延迟了1 ms。为什么这样?谢谢。
输出是这样的:
Windows Powershell的输出为:
LastTrade + 1/29/2020 12:00:28 AM + 81888815 + 1/29/2020 12:00:28 AM FirstTrade + 1/28/2020 11:59:53 PM + 81888716 1/29/2020 12:00:00 AM 最后的最终交易+ @ {time = 2020-01-28T23:59:58.476Z; trade_id = 81888750;价格= 9394.50000000;大小= 0.06500000; side = buy} + 2020年1月28日11:59:58 PM
但是詹金斯的输出是:
LastTrade + 1/29/2020 12:00:28 AM + 81888813 + 1/29/2020 12:00:28 AM FirstTrade + 1/28/2020 11:59:53 PM + 81888721 1/29/2020 12:00:00 AM 最后的最终交易+ @ {time = 2020-01-28T23:59:56.478Z; trade_id = 81888727;价格= 9404.90000000;大小= 0.05272805; side = sell} + 2020年1月28日11:59:56 PM
脚本是这样的:
$SubRequest = "https://api.pro.coinbase.com/products/BTC-USD/trades?after=81888816&limit=100"
$SubResponse = Invoke-WebRequest $SubRequest -UseBasicParsing|
ConvertFrom-Json
$SubLastTradeObject = ($SubResponse | Sort-object time, [int]tradeid -Descending | Select-Object -First 1)
$SubFirstTradeObject = ($SubResponse | Sort-object time, [int]tradeid | Select-Object -First 1)
$SubLastTradeTime = ([datetime]$SubLastTradeObject.time).ToUniversalTime()
$SubFirstTradeTime = ([datetime]$SubFirstTradeObject.time).ToUniversalTime()
Write-Host "LastTrade" + $SubLastTradeTime + $SubLastTradeObject.Trade_id + $SubLastTradeTime
Write-Host "FirstTrade" + $SubFirstTradeTime + $SubFirstTradeObject.Trade_id
$CurrentDate = $(Get-Date).ToUniversalTime().ToShortDateString()
$LastTradeDateBorder = [datetime]"$CurrentDate 00:00:00.000" #current date's 12:00:00 AM
Write-Host $LastTradeDateBorder
if(($SubLastTradeTime -gt $LastTradeDateBorder) -and ($SubFirstTradeTime -lt $LastTradeDateBorder))
{
#Write-Host $($SubResponse | Select-Object -Property time,trade_id,price,size,side)
$finalTrade = ($SubResponse | Where-Object -FilterScript {([datetime]$_.time).ToUniversalTime() -lt $LastTradeDateBorder} | Sort-object tradeId -Descending | Select-Object -First 1)
Write-Host "Last Final Trade " + $finalTrade + $(([datetime]$finalTrade.time).ToUniversalTime())
}