Merge pull request 'fix: app node cron' (#2) from fix_app-cron into staging

Reviewed-on: #2
This commit is contained in:
noormohammedb 2025-04-17 22:08:43 +00:00
commit eb9a89d1c5

@ -1452,7 +1452,7 @@ impl BrainData {
let mut nodes = self.app_nodes.write().unwrap(); let mut nodes = self.app_nodes.write().unwrap();
let mut app_contracts = self.app_contracts.write().unwrap(); let mut app_contracts = self.app_contracts.write().unwrap();
for node in nodes.iter_mut() { for node in nodes.iter_mut() {
if self.daemon_tx.contains_key(&node.node_pubkey) { if self.app_daemon_tx.contains_key(&node.node_pubkey) {
node.offline_minutes = 0; node.offline_minutes = 0;
continue; continue;
} }
@ -1501,8 +1501,17 @@ impl BrainData {
log::debug!("Running app contracts cron..."); log::debug!("Running app contracts cron...");
{ {
let mut app_contracts = self.app_contracts.write().unwrap(); let mut app_contracts = self.app_contracts.write().unwrap();
let app_nodes = self.app_nodes.read().unwrap();
app_contracts.retain_mut(|c| { app_contracts.retain_mut(|c| {
let node = self.find_app_node_by_pubkey(&c.node_pubkey).unwrap(); let node = match app_nodes
.iter()
.find(|n| n.node_pubkey == c.node_pubkey)
.cloned()
{
Some(n) => n,
None => return c.locked_nano > 0,
};
if node.offline_minutes == 0 { if node.offline_minutes == 0 {
let operator_wallet = node.operator_wallet.clone(); let operator_wallet = node.operator_wallet.clone();
let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64; let minutes_to_collect = (Utc::now() - c.collected_at).num_minutes() as u64;