Exemplo n.º 1
0
        public string ApplyScript(AdminJsScript script)
        {
            var sw = Stopwatch.StartNew();

            if (Log.IsOperationsEnabled)
            {
                Log.Operations($"Script : \"{script.Script}\"");
            }

            try
            {
                DocumentsOperationContext docsCtx = null;
                using (_server.AdminScripts.GetScriptRunner(new AdminJsScriptKey(script.Script), false, out var run))
                    using (_server.ServerStore.ContextPool.AllocateOperationContext(out JsonOperationContext ctx))
                        using (_database?.DocumentsStorage.ContextPool.AllocateOperationContext(out docsCtx))
                            using (var result = run.Run(ctx, docsCtx, "execute", new object[] { _server, _database }))
                            {
                                var toJson = RavenCli.ConvertResultToString(result);

                                if (Log.IsOperationsEnabled)
                                {
                                    Log.Operations($"Output: {toJson}");
                                }

                                if (Log.IsOperationsEnabled)
                                {
                                    Log.Operations($"Finished executing database script. Total time: {sw.Elapsed} ");
                                }

                                return(toJson);
                            }
            }
            catch (Exception e)
            {
                if (Log.IsOperationsEnabled)
                {
                    Log.Operations("An Exception was thrown while executing the script: ", e);
                }

                throw;
            }
            finally
            {
                _server.AdminScripts.RunIdleOperations();
            }
        }
Exemplo n.º 2
0
        public string ApplyScript(AdminJsScript script)
        {
            var sw = Stopwatch.StartNew();

            if (Log.IsOperationsEnabled)
            {
                Log.Operations($"Script : \"{script.Script}\"");
            }

            try
            {
                using (_server.AdminScripts.GetScriptRunner(new AdminJsScriptKey(script.Script), false, out var run))
                    using (var result = run.Run(null, "execute", new object[] { _server, _database }))
                    {
                        var toJson = RavenCli.ConvertResultToString(result);

                        if (Log.IsOperationsEnabled)
                        {
                            Log.Operations($"Output: {toJson}");
                        }

                        if (Log.IsOperationsEnabled)
                        {
                            Log.Operations($"Finished executing database script. Total time: {sw.Elapsed} ");
                        }
                        return(toJson);
                    }
            }
            catch (Exception e)
            {
                if (Log.IsOperationsEnabled)
                {
                    Log.Operations("An Exception was thrown while executing the script: ", e);
                }
                throw;
            }
        }