Nov. 21st, 2014

orleanz: (main)
понадобилось тут на работе написать, условно говоря, Запускатель Скриптов (написанных на разных ЯП)

вот типа у нас есть много разных скриптов, одни на Петоне, другие на Перле, третьи на (допустим, ага, разбежался) Скале

у каждого скрипта есть какое-то количество именнованных входных параметров (типа строка, для простоты)

и каждый скрипт выдает как результат тоже некоторое специфичное для него количество именованных результатов типа строка

каждый скрипт может зависеть от произвольного количество других этих скриптов

нужно написать Запускатель Скриптов, который будет делать две вещи

1. проверять консистентность всего набора скриптов - что все зависимости имеются в наличии и входящие-выходящие отверстия для передачи данных - совпадают количество и именами

например, отсекать ситуацию когда
скрипт1 зависит от скрипта7, а скрипта7 не существует
или когда скрипт7 существует но выдает 2 выходных результата, а скрип1 требует 3 входных
или когда скрипт7 выдает результат КастомерНейм а скрипт1 требует входной параметр КастомерЭйдж

2. собственно, запускать скрипты, в правильной последовательности, обеспечивая передачу данных между ними

Естественная, первая мысль - для каждого скрипт обязать наличие файлика с таким же именем, как сам скрипт, но с расширением .json, где вся необходимая информация создателями скрипта декларировалась бы, то есть, какие входные данные, какие выходные, и какие зависимости, плюс еще до кучи общий дескрипшен и путь к программе исполнителю, типа (e.g. /usr/bin/python)

А само использование, типа: создавать временный уникальный директорий (скажем UnixTimetick_GUID), там создавать файлики типа script1_input1.txr, script1_input2.txt, etc.. , куда писать сами значения аргументов, а потом уже сами скрипты читают эти файлики, и результаты работы записавают в script1_result1.txt, script1_resutl2.txt. Иными словами, передача аргументов между скриптами через файлы с уникальным и говорящим именем. Будет собираться много ботвы, но ее по началу даже не стирать, а оставлять для дальнейшего расследования и дебага, и только уже когда все хорошо работает, стирать их.

Все это я только подумываю сделать, но не оставляет ощущение, что все это уже есть и не надо изобретать велосипед....

please comment
orleanz: (main)
Когда шизофреник пишет постенг - бросаю всё и читаю

Вы попросите список таковых?

А вот и не опубликую!

Таких надо самим искать аки жемчуг в корраллах.

Зато потом интереснее читать найденное.

Ищите и обрящете (шизофреников)
orleanz: (main)
Частенько слушаю под работу, то есть, работаю под ....

http://www.chantefrance.com/

Там сразу надо выбрать секцию Эмосьён, самую лучшую на мой взг.
orleanz: (main)
Это типа когда фантаст

вместо лазерных бластеров и звездолетов

растекается фантазией на тему новых, неслыханных ЯП, ОС, фреймворков и методологий

которые превосходят нынешние аналоги так, как звездолет превосходит Буран
orleanz: (main)
Только вот забыл, какой срок имелся в виду

То ли 3 года, то ли 10 лет

Одно из двух этих времен высказывалось

Хотя скорее за 3 года, мне кажется
orleanz: (main)
с таким же именен как здесь в ЖЖ

Ello, a simple, beautiful & ad-free social network.

Ello's minimal design puts emphasis on high-quality content, and makes it easy to connect with the people you really care about. Ello does not allow paid ads, and will never sell user data to third parties.
orleanz: (main)
это надо знать, из здравого смысла никак не выводиццо
Page generated Aug. 18th, 2025 05:47 am
Powered by Dreamwidth Studios