EvilBeaver / OneScript.Web

MVC-движок сайтов на 1Script
Mozilla Public License 2.0
79 stars 20 forks source link

Нет возможности узнать идентификатор регл. задания. #66

Open dvakor opened 5 years ago

dvakor commented 5 years ago

В данный момент нет возможности узнать какое рег.задание скрывается за идентификатором.

Например я добавил 2 задания. После этого я не смогу понять какое рег. задание под каким айди существует

метод СоздатьПериодическоеЗаданиеПоРасписанию, принимает на входе только модуль, метод и крон, ИД он не возвращает.

ПолучитьИдентификаторыПериодическихЗаданий возвращает только массив идентификаторов.

Метода получить инфу по рег. заданию по ИД не реализован.

dvakor commented 5 years ago

Предлагаю хотя бы дополнить метод СоздатьПериодическоеЗаданиеПоРасписанию дополнительным, необязательным параметром id, так же сменить void на string, т.е. возвращать ид рег задания.

https://github.com/EvilBeaver/OneScript.Web/blob/master/src/OneScript/BackgroundJobs/ScheduledJobsManagerContext.cs#L36-L44

Получиться что-то типа такого

[ContextMethod("СоздатьПериодическоеЗаданиеПоРасписанию")]
        public string CreateRecurringSheduledTask(string module, string method, CronWrapper cron, string id = null)
        {

            if (string.IsNullOrEmpty(id))
                id = Guid.NewGuid().ToString();

            RecurringJob.AddOrUpdate(id,
                ()=>PerformAction(module, method),
                cron.CronString);

            return id;

        }
EvilBeaver commented 5 years ago

Предлагаю вообще зарефакторить регламентные задания в пользу АПИ, предоставляемого 1С