JsN:n määritys ja käyttö
Käynnistäminen
JsN.exe <polku_määritykseen.json>
Esimerkkejä:
JsN.exe config.json
JsN.exe "C:\scripts\monitor.json"
JsN.exe TCa\CaMonitor.json
JSON-määrityksen muoto
{
"scriptfile": "./minun_skripti.js",
"arg": {
"key1": "value1",
"key2": 42,
"key3": true,
"nested": {
"sub": "value"
}
}
}
| Kenttä | Tyyppi | Kuvaus |
|---|---|---|
scriptfile |
merkkijono | Polku JS-tiedostoon (suhteessa määrityskansioon tai absoluuttinen) |
arg |
objekti | Mielivaltaiset tiedot, jotka ovat saatavilla skriptissä nimellä arg |
arg:n käyttö skriptissä
Kaikki "arg":n sisältö välitetään JS:ään globaalina objektina arg:
Määritys:
{
"scriptfile": "./run.js",
"arg": {
"host": "smtp.office365.com",
"port": 587,
"recipients": ["admin@example.com", "ops@example.com"],
"debug": false
}
}
Skripti run.js:
console.log(arg.host); // "smtp.office365.com"
console.log(arg.port); // 587
console.log(arg.recipients[0]); // "admin@example.com"
console.log(arg.debug); // false
Polut scriptfile-kentässä
Polku scriptfile:ssä voi olla:
| Muoto | Esimerkki | Toiminta |
|---|---|---|
| Suhteellinen | "./script.js" |
Suhteessa määrityskansioon |
| Absoluuttinen | "C:\\scripts\\run.js" |
Absoluuttinen polku |
Suositus: Pidä määritys ja skripti samassa kansiossa ja käytä muotoa
"./script.js".
Projektirakenne
Suositeltu tiedostojärjestely:
my-project/
├── config.json ← määritys (annetaan JsN.exe:lle)
├── script.js ← pääskripti
└── lib/
└── helpers.js ← apufunktiot (tarvittaessa)
Useita määrityksiä eri tehtäviin
Voit käyttää yhdelle skriptille useita määrityksiä eri parametreilla:
monitor/
├── monitor.js ← jaettu skripti
├── monitor-production.json ← määritys tuotantoympäristöön
└── monitor-staging.json ← määritys testiympäristöön
monitor-production.json:
{
"scriptfile": "./monitor.js",
"arg": {
"service": "MyApp_Production",
"process": "myapp.exe",
"notify_url": "https://hooks.slack.com/services/PROD/..."
}
}
monitor-staging.json:
{
"scriptfile": "./monitor.js",
"arg": {
"service": "MyApp_Staging",
"process": "myapp.exe",
"notify_url": "https://hooks.slack.com/services/STAG/..."
}
}
Ajastettu suoritus (Tehtävien ajoitus)
Käytä Windowsin Tehtävien ajoitusta jaksottaiseen suoritukseen:
- Avaa Tehtävien ajoitus (
taskschd.msc) - Luo tehtävä → Toiminnot → Uusi
- Ohjelma:
C:\tools\JsN\JsN.exe - Argumentit:
C:\scripts\monitor\config.json - Määritä laukaisin (esim. joka N minuutti, käynnistyksessä jne.)
Tai PowerShellin kautta:
$action = New-ScheduledTaskAction `
-Execute "C:\tools\JsN\JsN.exe" `
-Argument "C:\scripts\monitor\config.json"
$trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 5) -Once -At (Get-Date)
Register-ScheduledTask -TaskName "JsN-Monitor" -Action $action -Trigger $trigger -RunLevel Highest
Suorittaminen järjestelmänvalvojana
svc_*-funktiot vaativat järjestelmänvalvojan oikeudet. Suoritustapoja:
Pikakuvakkeen kautta: Napsauta hiiren kakkospainikkeella → Suorita järjestelmänvalvojana.
Tehtävien ajoituksen kautta: Tehtävää luotaessa → Suorita suurimmilla käyttöoikeuksilla.
PowerShellin kautta:
Start-Process "JsN.exe" -ArgumentList "config.json" -Verb RunAs
JsN.exe:n poistumiskoodit
| Koodi | Merkitys |
|---|---|
0 |
Skripti suoritettiin onnistuneesti |
1 |
Määrityksen tai JS-tiedoston lataaminen epäonnistui |