import sys
import uuid
import datetime
from sqlalchemy.orm import Session
from app.db.session import SessionLocal
from app.db import models
from app.db.models import session as db_session
from app.db.models import agent as db_agent
def create_cron():
db = SessionLocal()
try:
user = db.query(models.User).first()
if not user:
print("No users found.")
return
template = db_agent.AgentTemplate(
id=str(uuid.uuid4()),
name="Prod CRON Agent",
description="Simple agent triggered every 1 minute via CRON",
system_prompt_path="/app/data/skills/test_sys_prompt.md",
max_loop_iterations=1
)
db.add(template)
session = db_session.Session(
title="CRON Session - Prod test",
user_id=user.id,
provider_name="gemini/gemini-2.5-flash",
feature_name="cron_test"
)
db.add(session)
db.flush()
instance_id = str(uuid.uuid4())
instance = db_agent.AgentInstance(
id=instance_id,
template_id=template.id,
session_id=session.id,
status="idle",
current_workspace_jail="/tmp",
last_heartbeat=datetime.datetime.utcnow()
)
db.add(instance)
trigger = db_agent.AgentTrigger(
id=str(uuid.uuid4()),
instance_id=instance_id,
trigger_type="cron",
cron_expression="60"
)
db.add(trigger)
db.commit()
print(f"✅ Successfully provisioned Prod CRON Agent Instance: {instance_id}")
except Exception as e:
db.rollback()
print(f"Fail: {e}")
finally:
db.close()
create_cron()