public void RunAsyncAndStopThenExit() { Spider spider = Spider.Create(new Site { EncodingName = "UTF-8", SleepTime = 1000 }, new TestPageProcessor()).AddPipeline(new TestPipeline()).SetThreadNum(1); for (int i = 0; i < 10000; i++) { spider.AddStartUrl("http://www.baidu.com/" + i); } spider.RunAsync(); Thread.Sleep(5000); spider.Pause(() => { spider.Exit(); }); Thread.Sleep(5000); }
public void RunAsyncAndStopThenExit() { if (Environment.GetEnvironmentVariable("TRAVIS") == "1") { return; } Spider spider = Spider.Create(new Site { EncodingName = "UTF-8", SleepTime = 1000 }, new TestPageProcessor()).AddPipeline(new TestPipeline()); spider.ThreadNum = 1; for (int i = 0; i < 10000; i++) { spider.AddStartUrl("http://www.baidu.com/" + i); } spider.RunAsync(); Thread.Sleep(5000); spider.Pause(() => { spider.Exit(); }); Thread.Sleep(5000); }
private void RegisterControl(Spider spider) { if (Redis != null) { try { Redis.GetSubscriber().Subscribe($"{spider.Identity}", (c, m) => { switch (m) { case "STOP": { spider.Stop(); break; } case "RUNASYNC": { spider.RunAsync(); break; } case "EXIT": { spider.Exit(); break; } } }); } catch { // ignored } } }
public void Exit(Action action = null) { Spider.Exit(action); }