/// <summary>
        /// 本地代理不需要留存心跳
        /// </summary>
        /// <param name="agent"></param>
        /// <returns></returns>
        public Task HeartbeatAsync(DownloaderAgentHeartbeat agent)
        {
#if NETFRAMEWORK
            return(DotnetSpider.Core.Framework.CompletedTask);
#else
            return(Task.CompletedTask);
#endif
        }
        /// <summary>
        /// 本地代理不需要留存心跳
        /// </summary>
        /// <param name="heartbeat"></param>
        /// <returns></returns>
        public Task HeartbeatAsync(DownloaderAgentHeartbeat heartbeat)
        {
            if (_agents.TryGetValue(heartbeat.AgentId, out var agent))
            {
                agent.LastModificationTime = DateTime.Now;
            }

            return(Task.CompletedTask);
        }
Example #3
0
		public async Task HeartbeatAsync(DownloaderAgentHeartbeat agent)
		{
			using (var conn = new MySqlConnection(_options.ConnectionString))
			{
				await conn.ExecuteAsync(
					$"INSERT IGNORE INTO dotnetspider.downloader_agent_heartbeat (agent_id, agent_name, free_memory, downloader_count, creation_time) VALUES (@AgentId, @AgentName, @FreeMemory, @DownloaderCount, @CreationTime);",
					agent);
				await conn.ExecuteAsync(
					$"UPDATE dotnetspider.downloader_agent SET last_modification_time = @LastModificationTime WHERE id = @AgentId",
					new {agent.AgentId, LastModificationTime = agent.CreationTime});
			}
		}
Example #4
0
        public async Task HeartbeatAsync(DownloaderAgentHeartbeat agent)
        {
            using (var conn = new MySqlConnection(_options.ConnectionString))
            {
                var obj = await conn.QueryFirstOrDefaultAsync <dynamic>(
                    $"SELECT id FROM dotnetspider.downloader_agent WHERE id = @Id && is_deleted = false LIMIT 1;",
                    new
                {
                    agent.Id
                });

                if (obj != null)
                {
                    await conn.ExecuteAsync(
                        $"INSERT IGNORE INTO dotnetspider.downloader_agent_heartbeat (agent_id, agent_name, free_memory, downloader_count, creation_time) VALUES (@AgentId, @AgentName, @FreeMemory, @DownloaderCount, @CreationTime);",
                        agent);

                    await conn.ExecuteAsync(
                        $"UPDATE dotnetspider.downloader_agent SET last_modification_time = @LastModificationTime WHERE id = @AgentId",
                        new { agent.AgentId, LastModificationTime = agent.CreationTime });
                }
            }
        }
 /// <summary>
 /// 本地代理不需要留存心跳
 /// </summary>
 /// <param name="agent"></param>
 /// <returns></returns>
 public Task HeartbeatAsync(DownloaderAgentHeartbeat agent)
 {
     return(Task.CompletedTask);
 }