private void RunTask(IExecutorDriver driver, TaskInfo taskInfo) { driver.SendTaskRunningStatus(taskInfo.task_id); var url = Encoding.UTF8.GetString(taskInfo.data); var imageFileName = RunRendering(taskInfo.task_id, url); SendRenderResultMessage(driver, url, imageFileName); driver.SendTaskFinishedStatus(taskInfo.task_id); }
public override void LaunchTask(IExecutorDriver driver, TaskInfo taskInfo) { Console.WriteLine($"Launching render task '{taskInfo.task_id.value}'..."); Task.Factory.StartNew (() => { try { RunTask (driver, taskInfo); } catch (Exception e) { Console.WriteLine ($"Exception during render operation: {e}"); driver.SendTaskErrorStatus (taskInfo.task_id); } }); }
private static void SendRenderResultMessage(IExecutorDriver driver, string url, string fileName) { var message = new Message { Type = "RenderResult", Body = JsonHelper.Serialize(new RenderResultMessage { Url = url, FileName = fileName }) }; driver.SendFrameworkMessage(JsonHelper.Serialize(message)); }
private static async Task RunTask(IExecutorDriver driver, TaskInfo taskInfo) { driver.SendTaskRunningStatus(taskInfo.task_id); var url = Encoding.UTF8.GetString(taskInfo.data); var htmlContent = await GetUrlContent(url); if (htmlContent != null) { var links = ExtractLinks(htmlContent); links = links .Select(x => x.ToLower()) .Distinct(StringComparer.CurrentCultureIgnoreCase); if (links.Any()) SendCrawlResultMessage(driver, url, links.ToArray()); } driver.SendTaskFinishedStatus(taskInfo.task_id); }
public override void Registered(IExecutorDriver driver, ExecutorInfo executorInfo, FrameworkInfo frameworkInfo, SlaveInfo slaveInfo) { _outputDir = Encoding.UTF8.GetString (executorInfo.data); Console.WriteLine ($"Registered executor on host '{slaveInfo.hostname}'. Output dir is '{_outputDir}'."); }
public virtual void Shutdown(IExecutorDriver driver) { }
public virtual void Reregistered(IExecutorDriver driver, SlaveInfo slaveInfo) { }
public virtual void Registered(IExecutorDriver driver, ExecutorInfo executorInfo, FrameworkInfo frameworkInfo, SlaveInfo slaveInfo) { }
public virtual void LaunchTask(IExecutorDriver driver, TaskInfo taskInfo) { }
public virtual void KillTask(IExecutorDriver driver, TaskID taskId) { }
public virtual void FrameworkMessage(IExecutorDriver driver, byte[] data) { }
public virtual void Error(IExecutorDriver driver, string message) { Console.WriteLine($"Error: '{message}'."); }
public virtual void Disconnected(IExecutorDriver driver) { }
private static void SendCrawlResultMessage(IExecutorDriver driver, string url, string[] links) { var message = new Message { Type = "CrawlResult", Body = JsonHelper.Serialize(new CrawlResultMessage { Url = url, Links = links }) }; driver.SendFrameworkMessage(JsonHelper.Serialize(message)); }
public override void Registered(IExecutorDriver driver, ExecutorInfo executorInfo, FrameworkInfo frameworkInfo, SlaveInfo slaveInfo) { Console.WriteLine($"Registered executor on '{slaveInfo.hostname}'."); }