Создание библиотеки действий, которую пользователи могут комбинировать для создания рабочего процесса (в Python) - PullRequest
0 голосов
/ 13 мая 2019

Я изо всех сил пытаюсь найти что-то в Интернете, чтобы дать какие-нибудь рекомендации о том, какие могут быть лучшие практики для кодирования решения для того, что я пытаюсь реализовать.

Что-то похожее на то, что мы хотели быдостижения - инструмент автоматизатора, который является частью OS X:

https://support.apple.com/en-gb/guide/automator/welcome/mac

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

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

Подход, который я рассматривал:

Наличие таблицы действий в БД.Действие имеет имя и код (скрипт python, хранящийся в БД).

Actions
Name (string): Go To webpage
Code (string): python code to go to page <url>

Когда пользователь создает рабочий процесс, он выбирает из этих доступных действий для его построения.Затем они сохраняются, чтобы их можно было снова запустить с нужными параметрами.

Workflow
ExecutionOrder (int): 1 
Name (string): Go To Webpage
Data (json): { url: "www.blah.com", }

При запуске рабочего процесса код будет вызываться динамически с использованием функции Exec в Python.с кодом, обновленным данными, определенными (в данном примере URL) перед запуском.

Другой вариант - переместить код в функции (вне БД).С именем действия и данными JSON, используемыми для определения, какую функцию вызывать и какие данные передавать в список аргументов.

Я не уверен, что это лучший подход, но немного застрял в отношении альтернатив,Какой-нибудь совет относительно поддерживающих технологий или подходов для достижения этого?

...