private void RunWebTaskWithoutContext(Func <WebTaskResult> action, WebTask webTask) { WebTaskController controller = CreateAndStoreWebTaskController(webTask); Task.Factory.StartNew <WebTaskResult>(RunWithoutContext, Tuple.Create(controller, action), controller.CancellationToken) .ContinueWith(tpl => FinishWithoutContext(tpl)); }
private WebTaskController CreateAndStoreWebTaskController(WebTask webTask) { WebTaskController controller = new WebTaskController(webTask); _taskControllers.TryAdd(webTask.Id, controller); return(controller); }
public Guid RunWebTask(Func <IWebTaskActionContext, WebTaskResult> action, WebTaskConfiguration configuration) { WebTask webTask = WebTaskFactory.CreateWebTask(configuration); RunWebTaskWithContext(action, webTask); return(webTask.Id); }
public Guid RunWebTask(Func <WebTaskResult> action) { WebTask webTask = WebTaskFactory.CreateWebTaskWithDefaultConfiguration(); RunWebTaskWithoutContext(action, webTask); return(webTask.Id); }
public WebTaskController(WebTask webTask) { if (webTask == null) { throw new ArgumentNullException("webTask"); } _webTask = webTask; _tokenSource = new CancellationTokenSource(); }
public MyDatabaseContext.Task WebTypeToLocalType(WebTask theWebTask) { return(new MyDatabaseContext.Task() { Date = theWebTask.Date, Begin = theWebTask.Begin, DefaultTime = theWebTask.DefaultTime, FinishTime = theWebTask.FinishTime, FinishFlag = theWebTask.FinishFlag, Introduction = theWebTask.Introduction, }); }
public static WebTask CreateWebTask(WebTaskConfiguration configuration) { WebTask webTask = new WebTask { Id = Guid.NewGuid(), State = WebTaskState.Idle, Created = DateTime.UtcNow, Expiration = configuration.ResultExpiration, Timeout = configuration.WebTaskTimeout, PersistResultWhenPickedOut = configuration.PersistResultWhenPickedOut }; return(webTask); }
public MyDatabaseContext.Task WebTaskToLocal(WebTask webtask) { return(new MyDatabaseContext.Task() { ID = webtask.ID, Date = webtask.Date, Begin = webtask.Begin, DefaultTime = webtask.DefaultTime, FinishTime = webtask.FinishTime, FinishFlag = webtask.FinishFlag, Introduction = webtask.Introduction, UserID = webtask.UserID }); }
// TODO: Convert tasks to an ITask object and insert them into the TaskManager private void TaskStartClick(object sender, RoutedEventArgs e) { savelist.Sort(); // Get the currently selected row using the SelectedRow property. var x = dataGridProxies.SelectedIndex; // get the current index number int index = savelist[x]; int current = savelist.IndexOf(index); // var q = MyList.Where(X => X.ID == x.ToString()).FirstOrDefault(); // can get all the information on the index var item = MyList.FirstOrDefault(X => X.ID == (index - 1).ToString()); // Debug.Info(item.ID); if (item != null) { item.Status = "Started"; // Debug.Info(item.Status); } Debug.Info("Product???" + item.Product); // didn't show the proxy info idk y //Console.WriteLine("wtf"+item.Proxy); Product product = new Product(item.Product, "TODO:GET PRODUCT NAME", int.Parse(item.ID), float.Parse(item.Size, CultureInfo.InvariantCulture.NumberFormat), item.Billing, item.Proxy); WebTask webTask = new WebTask(product, ref MyList, index, current, ref dataGridProxies, ref item); TaskManager.Instance.Add(product.Name, webTask); //// var found = MyList.FirstOrDefault(X => X.ID == (index - 1).ToString()); //try //{ // // Debug.Info("webScrapper result: " + result); // MyList.Remove(MyList.Where(i => i.ID == (index - 1).ToString()).Single()); // MyList.Insert((current), item); //} //catch //{ // // Console.WriteLine(x); // Debug.Error("unknow error"); //} //// MyList.Insert(MyList.IndexOf(q), item); ////MyList.Remove(q); //// MyList.IndexOf(); need to fixed the id first //// Debug.Info(x.ToString()); ////Debug.Info(MyList[i].Status); //dataGridProxies.ItemsSource = MyList; }
public async Task <bool> UpdateWebTaskAsync(int taskId, int finishFlag, int finishTime, string introduction) { var identifiedHttpMessageHandler = _identityService.GetIdentifiedHttpMessageHandler(); var updateWebTask = new WebTask { FinishFlag = finishFlag, FinishTime = finishTime, Introduction = introduction }; var json = JsonConvert.SerializeObject(updateWebTask); using (var httpClient = new HttpClient(identifiedHttpMessageHandler)) { HttpResponseMessage response; response = await httpClient.PutAsync(App.ServerEndpoint + "/api/Tasks?id=" + taskId.ToString(), new StringContent(json, Encoding.UTF8, "application/json")); return(true); } }
void AsyncReceive(IAsyncResult ar) { WebTask t = (WebTask)ar.AsyncState; var resp = t.Req.GetResponse().GetResponseStream(); int count = resp.EndRead(ar); TraceLogger(String.Format("Received {0} bytes against handle {1}", count, t.Handle)); t.ReceiveDone = (count == 0); if (count > 0) { t.writeBack(t.Handle, t.ReceiveBuffer, count); t.Async = resp.BeginRead(t.ReceiveBuffer, 0, t.ReceiveBuffer.Length, AsyncReceive, t); } else { t.Status = (int)((HttpWebResponse)t.Req.GetResponse()).StatusCode; t.Async = null; } }
}//ListWebTaskAsync public async Task <WebTask> NewWebTaskAsync(string date, string begin, int defaultTime) { var identifiedHttpMessageHandler = _identityService.GetIdentifiedHttpMessageHandler(); var postWebTask = new WebTask { Date = date, Begin = begin, DefaultTime = defaultTime, UserID = 1 }; var json = JsonConvert.SerializeObject(postWebTask); using (var httpClient = new HttpClient(identifiedHttpMessageHandler)) { HttpResponseMessage response; response = await httpClient.PostAsync(App.ServerEndpoint + "/api/Tasks", new StringContent(json, Encoding.UTF8, "application/json")); json = await response.Content.ReadAsStringAsync(); var thisTask = JsonConvert.DeserializeObject <WebTask>(json); return(thisTask); } }
void UpdateProgress(WebTask task) { Request item = game.Downloader.CurrentItem; if (item == null || item.Identifier != task.identifier) { return; } int progress = game.Downloader.CurrentItemProgress; if (progress == buildProgress) { return; } buildProgress = progress; if (progress >= 0 && progress <= 100) { view.statusText = buildName + " &a" + progress + "%"; UpdateStatus(); } }
private void _IrosHPost(IntPtr handle, ref IrosHPostData data) { string url = Marshal.PtrToStringAnsi(data.url); string ctype = Marshal.PtrToStringAnsi(data.contentType); System.Net.WebRequest req = System.Net.WebRequest.Create(url); req.ContentType = ctype; //req.Method = data.len > 0 ? "POST" : "GET"; req.Method = "POST"; TraceLogger(String.Format("{3}ing {2} bytes to {0} handle {1}", url, handle, data.len, req.Method)); byte[] buffer = new byte[data.len]; Marshal.Copy(data.data, buffer, 0, buffer.Length); WebTask t = new WebTask() { Req = req, Handle = handle, writeBack = data.writeBack }; _http[handle] = t; AsyncCallback doResponse = ar2 => { try { var resp = req.EndGetResponse(ar2); var rs = req.GetResponse().GetResponseStream(); t.Async = rs.BeginRead(t.ReceiveBuffer, 0, t.ReceiveBuffer.Length, AsyncReceive, t); } catch (WebException e) { ErrorLogger(String.Format("Error receiving from {0}: {1}", handle, e.ToString())); t.ReceiveDone = true; if (e.Response != null) { t.Status = (int)((HttpWebResponse)e.Response).StatusCode; } else { t.Status = 500; } } catch (Exception e) { ErrorLogger(String.Format("Error receiving from {0}: {1}", handle, e.ToString())); t.ReceiveDone = true; t.Status = 500; } }; t.ReceiveBuffer = new byte[0x10000]; if (buffer.Length > 0) { t.Async = req.BeginGetRequestStream(ar => { var s = req.EndGetRequestStream(ar); using (s) { s.Write(buffer, 0, buffer.Length); } t.Completed = t.Size = buffer.Length; TraceLogger(String.Format("Beginning GetResponse for {0}", handle)); t.Async = req.BeginGetResponse(doResponse, t); }, t); } else { TraceLogger(String.Format("Beginning GetResponse [no request data] for {0}", handle)); t.Async = req.BeginGetResponse(doResponse, t); } }