Files
odoo-ai/addons/activeblue_ai/data/ir_cron.xml
Carlos Garcia 103f575f92 fix(addon): bot presence — fix network isolation, computed field write, and timer gap
- docker-compose.odoo.yml: add activeblue-net so Odoo can reach
  activeblue-agent by hostname; fix addons volume mount (was odoo_module)
- ab_ai_bot.py: bus.presence.status is computed — write only last_poll
  and last_presence; set last_poll 90s ahead when online so the bot
  stays green across the 60s cron cycle (DISCONNECTION_TIMER=30s)
- ir_cron.xml: reduce ping interval to 20s (uses Odoo 18 seconds type)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:42:35 -04:00

45 lines
1.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="cron_ai_ping" model="ir.cron">
<field name="name">ActiveBlue AI: Ping Service</field>
<field name="model_id" ref="model_ab_ai_bot"/>
<field name="state">code</field>
<field name="code">model.cron_ping_all()</field>
<field name="interval_number">20</field>
<field name="interval_type">seconds</field>
<field name="active">True</field>
</record>
<record id="cron_ai_registry_sync" model="ir.cron">
<field name="name">ActiveBlue AI: Sync Agent Registry</field>
<field name="model_id" ref="model_ab_ai_agent_registry"/>
<field name="state">code</field>
<field name="code">model.sync_from_service()</field>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="active">True</field>
</record>
<record id="cron_ai_directive_cleanup" model="ir.cron">
<field name="name">ActiveBlue AI: Clean Up Old Directives</field>
<field name="model_id" ref="model_ab_ai_directive"/>
<field name="state">code</field>
<field name="code">model.cron_cleanup_old()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active">True</field>
</record>
<record id="cron_ai_log_cleanup" model="ir.cron">
<field name="name">ActiveBlue AI: Clean Up Old Logs</field>
<field name="model_id" ref="model_ab_ai_log"/>
<field name="state">code</field>
<field name="code">model.cron_cleanup()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active">True</field>
</record>
</data>
</odoo>