public static void PerformAction(string module, string method)
        {
            MachineInstance.Current.PrepareThread(_globalEnv);

            ApplicationDbContext dbContext = null;

            try
            {
                dbContext = _dbBridge?.CreateContext();

                // TODO Сделать нормальный наконец способ доступа к ИБ
                if (DatabaseExtensions.Infobase != null)
                {
                    DatabaseExtensions.Infobase.DbContext = dbContext;
                }

                var scriptObject = (IRuntimeContextInstance)_globalEnv.GetGlobalProperty(module);
                var methodId     = scriptObject.FindMethod(method);
                scriptObject.CallAsProcedure(methodId, new IValue[0]);
            }
            finally
            {
                dbContext?.Dispose();
                if (DatabaseExtensions.Infobase != null)
                {
                    DatabaseExtensions.Infobase.DbContext = null;
                }
            }
        }
        // должен быть public, т.к. hangfire не умеет вызывать private
        public static void PerformAction(string module, string method)
        {
            MachineInstance.Current.PrepareThread(_globalEnv);

            var scriptObject = (IRuntimeContextInstance)_globalEnv.GetGlobalProperty(module);
            var methodId     = scriptObject.FindMethod(method);

            scriptObject.CallAsProcedure(methodId, new IValue[0]);
        }
        private static void PerformAction(string module, string method)
        {
            var machine = MachineInstance.Current;

            _globalEnv.LoadMemory(machine);

            var scriptObject = (IRuntimeContextInstance)_globalEnv.GetGlobalProperty(module);
            var methodId     = scriptObject.FindMethod(method);

            scriptObject.CallAsProcedure(methodId, new IValue[0]);
        }