/// <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); }
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}); } }
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); }