Semaine 76 - Intermédiaire

Une des choses que nous essayons de créer en tant qu'ingénieurs est un système robuste qui continue de fonctionner en cas de défaillance. Cette semaine, nous allons étendre ces capacités en examinant les tâches : même si une tâche échoue, sa tâche enchaînée doit continuer à s'exécuter.

Pour ce défi, nous avons une tâche prompte aux erreurs (pour une raison que nous n'avons toujours pas comprise ;) ), mais même si la tâche échoue, nous voulons quand même une notification dans notre table indiquant que la tâche a échoué.

CREATE OR REPLACE TABLE task_table (stamp time, message varchar);CREATE OR REPLACE TASK main_taskSCHEDULE = '1 minute'USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE = 'XSMALL'ASSELECT CASEWHEN RANDOM() <0 THEN 1/0ELSE 1END;CREATE OR REPLACE TASK child_taskAFTER main_taskASINSERT INTO task_table (stamp,message) VALUES(CURRENT_TIMESTAMP,'main_task succes!');

Le défi

Nous voulons que vous écriviez une tâche qui est chaînée à main_task et qui s'exécute toujours même si main_task échoue. La tâche devrait simplement insérer le message 'task ran' dans task_table avec un horodatage correspondant.

Previous
Previous

Semaine 76 - Tâches et Planification

Next
Next

Semaine 75 - Applications Natives et Marketplace