Решил попробовать worker_threads в ноде, для этого решил написать простое приложение, которое бы получало список страниц и делало их скриншоты.Возникла проблема: в node.js нет аналога питоновских Queue. Я хочу FIFO: ложить список ссылок в очередь и чтобы воркеры их разбирали по одной. Аналога mkfifo в нодадрисне нет, этих петухов все блокирующее пугает. У меня остается только вариант взять и через Redis все сделать…
UPD: нода ожидаемо оказалась гамном, поэтому свою приблуду я сделал на лучшем языке программирования в мире Python. Результаты работы я выложил на своем полупустом github’e. Пожалуйста, если не сложно, поставьте звездочку.
$ pip install websnapshot
$ websnapshot --help
Usage: websnapshot [OPTIONS]
capture snapshot of webpage
Options:
-v, --version [default: False]
-i, --input FILENAME input filename [default: -]
-o, --output PATH snapshot output directory [default:
./websnapshots]
-w, --workers INTEGER number of workers [default: 10]
-V, --viewport_size TEXT viewport size [default: 1366x768]
-H, --header TEXT extra header
-f, --full_page full page snapshot [default: False]
-q, --quality INTEGER snapshot quality (1-100) [default: 85]
-e, --extension, --ext TEXT snapshot extension [default: .png]
-d, --delay FLOAT delay after page load in seconds [default:
5.0]
-t, --timeout FLOAT maximum navigation timeout in seconds
[default: 15.0]
-l, --log_level TEXT logging level [default: warning]
--help Show this message and exit.
# Пример полноразмерного скриншота этой страницы
$ echo 'https://www.linux.org.ru/forum/web-development/15661582' | websnapshot -f