public static void reCallTaskScheduler()
        {
            var dt = getListTaskSchedulerWait();

            if (dt.Rows.Count == 0)
            {
                return;
            }
            try
            {
                DataRow r    = dt.Rows[0];
                var     key  = Enum.Parse(typeof(keyFunction), $"{r["function"]}", true);
                var     args = new itemScheduler();
                /*cols = "iduser,action,function,typeprocess,idObject,packetsize,listfile,request,times";*/
                args.action   = $"{r["action"]}";
                args.function = (keyFunction)key;
                if (args.function == keyFunction.Other)
                {
                    dt.Rows.RemoveAt(0);
                    dt.WriteXml(Folders.App_Data + "\\taskscheduler.xml", XmlWriteMode.WriteSchema);
                    reCallTaskScheduler();
                    return;
                }
                args.listFile = $"{r["listfile"]}";
                if (args.function == keyFunction.ExecTSQL)
                {
                    /* Format ListFile TSQL: NewLine + Go + NewLine */
                    if (string.IsNullOrEmpty(args.listFile))
                    {
                        dt.Rows.RemoveAt(0);
                        dt.WriteXml(Folders.App_Data + "\\taskscheduler.xml", XmlWriteMode.WriteSchema);
                        reCallTaskScheduler();
                        return;
                    }
                    var s = Regex.Matches(args.listFile, "[\n]go[\n]");
                    var a = new List <string>();
                    for (int i = 0; i < s.Count; i++)
                    {
                        a.Add(s[i].Value);
                    }
                    args.data = a;
                }
                args.idObject    = $"{r["idObject"]}";
                args.idUser      = $"{r["iduser"]}";
                args.packetSize  = int.Parse($"{r["packetsize"]}");
                args.request     = $"{r["request"]}";
                args.times       = DateTime.Parse($"{r["times"]}");
                args.typeProcess = $"{r["typeprocess"]}";
                args.callTaskScheduler();
                dt.Rows.RemoveAt(0);
                dt.WriteXml(Folders.App_Data + "\\taskscheduler.xml", XmlWriteMode.WriteSchema);
            }
            catch (Exception ex) { ex.save(); }
        }
        public static string callThread(this HttpSessionStateBase s, string action, string request = "", string list = "", int packetsize = 1000, Action obj = null)
        {
            var args = new itemScheduler();

            args.idUser     = s.getIdUser();
            args.action     = action;
            args.packetSize = 1000;
            args.listFile   = list;
            args.times      = DateTime.Now;
            args.request    = request;
            args.data       = obj;
            return(args.callTaskScheduler());
        }