Я получил веб-задание с несколькими подпрограммами, и для выполнения определенной подпрограммы имя подпрограммы передается в качестве аргумента задания.Все эти подпрограммы должны быть выполнены, и между ними существует зависимость (входные данные подпрограммы могут быть выходными данными другой подпрограммы);поэтому для организации этого я планирую использовать приложение логики , которое на самом деле будет вызывать одно и то же веб-задание, но с передачей других параметров.
Выполнив все вышеперечисленное, я получуодин экземпляр веб-задания, и я буду контролировать поток работ с помощью приложения логики. Но вот мое беспокойство ... давайте предположим, что я хочу выполнить только определенную подпрограмму (которая автономна, не зависит от другой подпрограммы) , потому что она не удалась (или, может быть, я хочу отладить его) , поэтому мне нужно зайти на портал веб-заданий в Azure и скопировать URL-адрес веб-ловушки задания, установить параметры задания в качестве параметров запроса для вызова желаемой подпрограммы изатем вызовите его через HTTP-клиент.Но проблема, с которой я сталкиваюсь, заключается в том, что это не так дружелюбно: мне нужно сделать все эти вещи для вызова рутины конкретной работы.
Чтобы решить мою вышеуказанную проблему, я планировал дублировать экземпляр задания (термин дублирования, используемый здесь, предназначен не для масштабирования, а для гибкости), и жестко закодируйте имя подпрограммы в каждом дублировании задания.Единственные плюсы, которые я вижу, - это запустить определенную процедуру, просто перейдя непосредственно к соответствующему экземпляру задания и нажав кнопку «Выполнить» (портал Azure).Но также и минусы, которые я вижу здесь, заключаются в том, что я дублирую один и тот же исходный код (те же двоичные файлы), но просто передаю другой параметр (в данном случае имя подпрограммы), поэтому с точки зрения удобства сопровождения, это боль, потому что есличто-то меняется в исходном коде задания, я должен повторно развернуть «количество подпрограмм» для согласованности (все задания выполняются с одним и тем же исходным кодом).
Поэтому я должен пожертвовать обслуживаемость кода (повторно использовать один и тот же исходный код и играть с параметрами задания), чтобы получить удобный способ выполнения задания, или нет?Я хотел бы услышать ваше мнение!Если нужно больше информации, пожалуйста, дайте мне знать!