Различные выходы для сценария Powershell
при запуске с Jenkins
(на Linux машине) и при локальном запуске на windows машине.
Полученные результаты отличаются, и я не знаю Почему. Могут ли быть какие-либо возможности для Jenkins
отличного от того, что есть на локальной машине?
Сценарий находится в файле Script.ps1
, Build in Jenkins
- Выполнить Windows Пакетная команда и команда is powershell -File C:\Folder\Script.ps1
Любая помощь по этому вопросу будет очень полезна, спасибо!
PS разница составляет 1 мс, что означает, что выходной сигнал задерживается на 1 мс. Почему так? Спасибо.
Вывод такой:
Вывод для этого из Windows Powershell:
LastTrade + 1/29/2020 12:00:28 AM + 81888815 + 29.01.2020 12:00:28 FirstTrade + 1/28/2020 23:59:53 + 81888716 1/29/2020 12:00:00 Last Final Trade + @ {time = 2020- 01-28T23: 59: 58.476Z; trade_id = 81888750; цена = 9394.50000000; Размер = 0.06500000; side = buy} + 28.01.2020 23:59:58
Но вывод от Дженкинса:
LastTrade + 1/29/2020 12:00 : 28:00 + 81888813 + 29.01.2020 12:00:28 FirstTrade + 28.01.2020 11:59:53 PM + 81888721 1/29/2020 12:00:00 Последняя финальная сделка + @ {time = 2020-01-28T23: 59: 56.478Z; trade_id = 81888727; цена = 9404.90000000; Размер = 0.05272805; сторона = продажа} + 28.01.2020 23:59:56
Сценарий таков:
$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())
}