Exécution
Comprendre comment les workflows sont exécutés dans Scrydon
Le moteur d'exécution de Scrydon donne vie à vos workflows en traitant les blocs dans le bon ordre, en gérant le flux de données et en traitant les erreurs avec grâce.
Chaque exécution de workflow suit un chemin déterministe basé sur vos connexions de blocs et votre logique, garantissant des résultats prévisibles et fiables.
Vue d'ensemble de la documentation
Bases de l'exécution
Découvrez le flux d'exécution fondamental, les types de blocs et comment les données circulent dans votre workflow
Journalisation et calcul des coûts
Comprenez les journaux de workflow et comment les coûts d'exécution sont calculés dans Scrydon
Concepts clés
Exécution topologique
Les blocs s'exécutent dans l'ordre des dépendances, de manière similaire à la façon dont une feuille de calcul recalcule ses cellules. Le moteur d'exécution détermine automatiquement quels blocs peuvent s'exécuter en fonction des dépendances complétées.
Suivi des chemins
Le moteur suit activement les chemins d'exécution dans votre workflow. Les blocs Routeur et Condition mettent à jour dynamiquement ces chemins, s'assurant que seuls les blocs pertinents s'exécutent.
Traitement par couches
Plutôt que d'exécuter les blocs un par un, le moteur identifie des couches de blocs pouvant s'exécuter en parallèle, optimisant les performances pour les workflows complexes.
Contexte d'exécution
Chaque workflow maintient un contexte riche pendant l'exécution contenant :
- Les sorties et états des blocs
- Les chemins d'exécution actifs
- Le suivi des itérations de boucles et parallèles
- Les variables d'environnement
- Les décisions de routage
Déclencheurs d'exécution
Les workflows peuvent être exécutés via plusieurs canaux :
- Manuel : testez et déboguez directement dans l'éditeur
- Déployer comme API : créez un point de terminaison HTTP sécurisé par des clés API
- Déployer comme Chat : créez une interface conversationnelle sur un sous-domaine personnalisé
- Webhooks : répondez aux événements externes de services tiers
- Planifié : exécutez selon un calendrier récurrent à l'aide d'expressions cron
Déployer comme API
Lorsque vous déployez un workflow comme API, Scrydon :
- Crée un point de terminaison HTTP unique :
https://scrydon.com/api/workflows/{workflowId}/execute - Génère une clé API pour l'authentification
- Accepte les requêtes POST avec des charges utiles JSON
- Retourne les résultats d'exécution du workflow au format JSON
Exemple d'appel API :
curl -X POST https://scrydon.com/api/workflows/your-workflow-id/execute \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"input": "your data here"}'Déployer comme Chat
Le déploiement Chat crée une interface conversationnelle pour votre workflow :
- Hébergé sur un sous-domaine personnalisé :
https://your-name.scrydon.com - Authentification optionnelle (publique, par mot de passe ou par e-mail)
- Interface personnalisable avec votre identité visuelle
- Réponses en streaming pour une interaction en temps réel
- Idéal pour les assistants IA, les bots de support ou les outils interactifs
Chaque méthode de déploiement transmet les données au bloc de démarrage de votre workflow, lançant le flux d'exécution.
Exécution programmatique
Il existe deux façons d'appeler un workflow déployé depuis le code, selon qui effectue l'appel :
Serveur à serveur (clé API)
Les backends, les tâches cron, la CI et les services internes s'authentifient avec une clé API statique émise lors du flux de déploiement. Il n'y a pas de SDK — appelez l'API de workflow directement :
curl -X POST "https://scrydon.com/api/workflows/{workflowId}/execute" \
-H "x-api-key: $SCRYDON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": "Hello"}'Agir au nom d'un utilisateur (OAuth)
Les applications de première partie (navigateur, TanStack Start / Next.js) authentifient l'utilisateur final avec OAuth 2.0 + PKCE via le SDK Client :
npm install @scrydon/sdkimport { ScrydonClient } from '@scrydon/sdk'
const client = new ScrydonClient({
baseUrl: 'https://scrydon.com',
clientId: 'your-oauth-client-id',
redirectUri: 'https://your-app.com/auth/callback',
})
// Après client.auth.signIn() / handleCallback() — voir la documentation du SDK Client
const result = await client.workflows.trigger({
workflowId: 'wf_…',
inputs: { message: 'Hello' },
})
// result: { executionId, status, outputs }Pour les workflows de longue durée, utilisez client.workflows.triggerAsync(...) et interrogez client.workflows.getStatus(executionId).
Bonnes pratiques
Concevoir pour la fiabilité
- Gérez les erreurs avec grâce avec des chemins de repli appropriés
- Utilisez des variables d'environnement pour les données sensibles
- Ajoutez des journaux dans les blocs Fonction pour le débogage
Optimiser les performances
- Minimisez les appels API externes lorsque c'est possible
- Utilisez l'exécution parallèle pour les opérations indépendantes
- Mettez en cache les résultats avec les blocs Mémoire lorsque c'est approprié
Surveiller les exécutions
- Examinez régulièrement les journaux pour comprendre les patterns de performance
- Suivez les coûts d'utilisation des modèles IA
- Utilisez les instantanés de workflow pour déboguer les problèmes
Prochaines étapes
Commencez par Bases de l'exécution pour comprendre le fonctionnement des workflows, puis explorez Journalisation et calcul des coûts pour surveiller et optimiser vos exécutions.