Bird
Raised Fist0
Denoframework~10 mins

Scheduled tasks (cron) in Deno - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the cron scheduler from the Deno standard library.

Deno
import { [1] } from "https://deno.land/std@0.203.0/cron/mod.ts";
Drag options to blanks, or click blank then click option'
Aschedule
BCron
Ccron
DCronJob
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase 'cron' instead of 'Cron'.
Importing a non-existent 'schedule' or 'CronJob' from the module.
2fill in blank
medium

Complete the code to create a cron job that runs every minute.

Deno
const cron = new Cron({
  cronTime: "[1]",
  onTick: () => console.log("Task running every minute"),
});
Drag options to blanks, or click blank then click option'
A"0 * * * * *"
B"* * * * *"
C"*/1 * * * *"
D"* * * * * *"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 5-field cron expressions instead of 6-field for Deno.
Confusing the position of seconds and minutes.
3fill in blank
hard

Fix the error in the code to start the cron job.

Deno
cron.[1]();
Drag options to blanks, or click blank then click option'
Astart
Brun
Cexecute
Dbegin
Attempts:
3 left
💡 Hint
Common Mistakes
Using run() or execute() which do not exist.
Trying to call begin() which is not a method.
4fill in blank
hard

Fill both blanks to create a cron job that runs every day at 7:30 AM and logs a message.

Deno
const dailyJob = new Cron({
  cronTime: "[1]",
  onTick: () => console.[2]("Good morning! Time to start your day."),
});
Drag options to blanks, or click blank then click option'
A"0 30 7 * * *"
Blog
Cinfo
D"7 30 * * * *"
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping minutes and hours in the cron expression.
Using console.info instead of console.log.
5fill in blank
hard

Fill all three blanks to create a cron job that runs every Monday at 9:00 AM, logs a start message, and then stops itself.

Deno
const weeklyJob = new Cron({
  cronTime: "[1]",
  onTick: () => {
    console.[2]("Weekly job started.");
    weeklyJob.[3]();
  },
});
Drag options to blanks, or click blank then click option'
A"0 0 9 * * 1"
Blog
Cstop
D"0 9 * * 1"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 5-field cron expressions instead of 6-field.
Calling start() instead of stop() to end the job.

Practice

(1/5)
1. What is the main purpose of using scheduled tasks (cron) in Deno?
easy
A. To compile Deno scripts faster
B. To manually trigger functions on user input
C. To debug code step-by-step
D. To run code automatically at specific times or intervals

Solution

  1. Step 1: Understand scheduled tasks

    Scheduled tasks run code automatically without manual intervention.
  2. Step 2: Identify cron job purpose in Deno

    Deno's cron jobs automate running code at set times or intervals.
  3. Final Answer:

    To run code automatically at specific times or intervals -> Option D
  4. Quick Check:

    Scheduled tasks = automatic timed code run [OK]
Hint: Scheduled tasks run code on a timer, not manually [OK]
Common Mistakes:
  • Confusing scheduled tasks with manual triggers
  • Thinking cron is for debugging
  • Assuming cron speeds up compilation
2. Which of the following is the correct way to import the croner library in a Deno script?
easy
A. import Cron from "croner";
B. require('croner');
C. import { Cron } from "https://deno.land/x/croner@6.0.0/mod.ts";
D. import * as Cron from 'cron';

Solution

  1. Step 1: Check Deno import style

    Deno uses ES module imports with URLs, not CommonJS require.
  2. Step 2: Identify correct croner import

    The official croner import uses a URL with version and named import.
  3. Final Answer:

    import { Cron } from "https://deno.land/x/croner@6.0.0/mod.ts"; -> Option C
  4. Quick Check:

    Deno imports use URLs and named imports [OK]
Hint: Deno imports use full URLs, not short names or require [OK]
Common Mistakes:
  • Using require() which is Node.js style
  • Importing from 'cron' instead of 'croner'
  • Using wildcard import without URL
3. What will the following Deno croner code output when run?
import { Cron } from "https://deno.land/x/croner@6.0.0/mod.ts";
const cron = new Cron("* * * * *", () => {
  console.log("Hello every minute");
});
cron.start();
medium
A. Prints "Hello every minute" every second
B. Prints "Hello every minute" every minute
C. Prints "Hello every minute" once immediately
D. Throws a syntax error

Solution

  1. Step 1: Understand the cron pattern "* * * * *"

    This pattern means the task runs every minute.
  2. Step 2: Analyze the callback behavior

    The callback logs "Hello every minute" each time the cron triggers.
  3. Final Answer:

    Prints "Hello every minute" every minute -> Option B
  4. Quick Check:

    Cron pattern "* * * * *" = every minute [OK]
Hint: Five stars in cron means every minute [OK]
Common Mistakes:
  • Thinking it runs every second
  • Expecting immediate output without waiting
  • Confusing cron syntax with other formats
4. Identify the error in this Deno croner code snippet:
import { Cron } from "https://deno.land/x/croner@6.0.0/mod.ts";
const cron = new Cron("60 * * * *", () => {
  console.log("This runs every hour");
});
cron.start();
medium
A. The cron pattern "60 * * * *" is invalid because minutes must be 0-59
B. Missing await before cron.start()
C. Callback function should be async
D. Cron library does not support hourly tasks

Solution

  1. Step 1: Check the cron pattern validity

    Minutes field must be between 0 and 59; "60" is invalid.
  2. Step 2: Confirm other code parts

    cron.start() does not require await; callback can be sync; hourly tasks are supported.
  3. Final Answer:

    The cron pattern "60 * * * *" is invalid because minutes must be 0-59 -> Option A
  4. Quick Check:

    Minutes range = 0-59, 60 is invalid [OK]
Hint: Minutes in cron must be 0-59, not 60 or above [OK]
Common Mistakes:
  • Using invalid minute value 60
  • Thinking cron.start() needs await
  • Assuming callback must be async
5. You want to schedule a Deno task to run every weekday at 9:30 AM using croner. Which cron pattern is correct?
hard
A. 30 9 * * 1-5
B. 9 30 * * 1-5
C. 30 9 * * 6,7
D. 0 9 * * 1-5

Solution

  1. Step 1: Understand cron fields order

    Cron fields are: minute, hour, day of month, month, day of week.
  2. Step 2: Match 9:30 AM on weekdays

    Minute = 30, hour = 9, day of week = 1-5 (Monday to Friday).
  3. Final Answer:

    "30 9 * * 1-5" -> Option A
  4. Quick Check:

    Minute=30, Hour=9, Weekdays=1-5 [OK]
Hint: Minute first, hour second, weekdays 1-5 for Mon-Fri [OK]
Common Mistakes:
  • Swapping hour and minute fields
  • Using weekend days 6,7 instead of weekdays
  • Setting minute or hour to zero incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard