OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
wget
x minut stahoval a y minut odpočíval a pak zase pokračoval x minut ve stahování až do stažení souboru.
Částečně jsem se inspiroval v
této diskuzi a sepsal následující skript. Pokusně tam mám krátkých 10s.
#!/bin/bash
while true
do
wget -c ftp://adresa.cz/nejakysoubor.pripona & sleep 10s
killall -INT wget
echo Preruseni
sleep 5s
done
Smyslem je, aby se společně se stahováním spustilo odpočítávání času a to zabilo wget, pak se počkalo 5s a začal další cyklus.
Přesto mně tento skript dělá psí kusy. Kdyby někdo věděl, jak na to, budu vděčný za radu. Děkuju. mrw
killall wget
, protože si tak odstřelíš všechny wget
y, ale po wget -c &
si uložil hodnotu proměnné $!
a zabíjel konkrétní proces. Dále se obecně nemůžeš spolehnout na to, že se ti proces po SIGINT ukončí, takže musíš testovat jeho existenci (potencionální race condition).
No a také postrádám podmínku pro ukončení cyklu, po dotažení souboru.
BTW: nebylo by lepší použít --limit-rate
? Imho se snažíš obejít nějaký omezovač připojení.
#!/bin/bash if [[ -z $1 ]]; then echo "Parametr by mel byt adresa ke stazeni." exit 1 fi function exitX { kill -9 $PID exit 1 } trap exitX SIGINT while true; do wget -c "$1" & PID=$! # 5 vterin stahuje echo "Downloading... ($PID)" sleep 5 # posle SIGSTOP kill -19 $PID if [ $? -ne 0 ]; then kill -9 $PID fi # 5 vterin ceka echo "Waiting..." sleep 5 done
#!/usr/bin/env python import urllib2, time, sys, os delay = 2 burst_time = 12 url = sys.argv[1] filename = os.path.basename(url) response = urllib2.urlopen(url) fw = open(filename, 'w') stamp = time.time() downloaded = 0 while True: data = response.read(65536) if not data: break fw.write(data) downloaded += len(data) print '%d bytes downloaded' %downloaded if time.time() - stamp > burst_time: print 'Waiting ...' time.sleep(delay) stamp = time.time() print 'Done.'Skriptík zvládá ftp i http a stahuje po 64kb blocích (velikost lze upravit). Občas, asi tak po dvanácti sekundách, se mezi jednotlivými bloky na dvě sekundy trochu prospí. Ten poměr jsem převzal od toho člověka v minulé diskusi, co 30 minut stahoval a 5 minut čekal. V tom programu sice nemám časování naprosto přesné, ale je to schválně - přece nebudu čekat, když mi zrovna teče paket, když zapisuju do souboru nebo tak něco.
Tiskni Sdílej: