Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: DNATech :: Suporte a JSON5 em AdvPL/TLPP

_Créditos das imagens: ChatGPT_ # Suporte a JSON5 em AdvPL/TLPP [JSON5](https://json5.org/) é uma extensão do popular formato de arquivo JSON que tem como objetivo ser mais fácil de escrever e manter manualmente (por exemplo, para arquivos de configuração). Ele não foi projetado para comunicação entre máquinas. (Continue usando JSON ou outros formatos de arquivo para isso. 🙂) O JSON5 foi iniciado em 2012 e, a partir de 2022, recebe mais de 65 milhões de downloads por semana, está entre os 0,1% dos pacotes mais utilizados no npm e foi adotado por grandes projetos como Chromium, Next.js, Babel, Retool, WebStorm e outros. Também possui suporte nativo em plataformas da Apple, como macOS e iOS. Formalmente, o formato de Intercâmbio de Dados JSON5 é um superconjunto do JSON (ou seja, arquivos JSON válidos sempre serão arquivos JSON5 válidos) que expande sua sintaxe para incluir algumas produções do ECMAScript 5.1 (ES5). Além disso, ele é um subconjunto do ES5, o que significa que arqui...

Protheus :: Usando Taskkill para forçar o reinicio dos serviços


Às vezes faz-se necessário reiniciar os serviços do protheus mas através do "serviço" do Windows® isso se torna impossível pois podem existir muitos processos pendentes a interrupção dos serviços . Então podemos fazer uso da ferramenta "taskkill" que no exemplo abaixo está em um "script" em Windows® PowerShell®. Nesse exemplo existem quatro serviços do protheus sendo executados com os seguintes nomes: P10Server5110, P10Server5210, P10Server5310 e P10Server5410 onde P10Server corresponde ao Prefixo do serviço e 5110 a 5410 às portas em que eles escutam.

$IniPort = 5110
$EndPort = 5911
$PrefixProcess = "P10Server"
$NameProcess = ""
for ( $Port = $IniPort ; $Port -le $EndPort ; $Port+=100 )
{
$NameProcess = $PrefixProcess+$Port
if ( get-service | where { $_.status -eq "stopped" -and $_.name -eq $NameProcess} )
{
while ( get-service | where { $_.status -eq "stopped" -and $_.name -eq $NameProcess } )
{
start-service $NameProcess
}
}
elseif ( get-service | where { $_.name -eq $NameProcess} )
{
invoke-expression -command 'taskkill -f -fi "SERVICES eq $NameProcess" /t'
start-sleep -seconds 10
while ( get-service | where { $_.status -lt "running" -and $_.name -eq $NameProcess } )
{
start-service $NameProcess
}
}
}

Para que o "script" possa ser executado faz-se necessário autoriza-lo através do Windows® PowerShell®, sendo assim, execute oWindows® PowerShell® e digite o seguinte comando: get-help about_signing. Esse comando irá listar as opções de "Diretivas de Assinatura e de Execução" de "Script", leia-as atentamente. Mas se quiser pular esse passo (eu não recomendo) digite o seguinte comando no Windows® PowerShell®: Set-ExecutionPolicy Unrestricted. Esse comando fará que qualquer "Script" seja executado em sua máquina (mas atente para os ítens de segurança listados à partir do comando get-help about_signing).

Comentários

Postagens mais visitadas