DEV Community

Cover image for CronWeb: Use Webhook 🔗 No Need to Build Your Own Cron Scheduler 🕒
Rajesh Joshi
Rajesh Joshi

Posted on • Originally published at rajeshj3.Medium

CronWeb: Use Webhook 🔗 No Need to Build Your Own Cron Scheduler 🕒

Introduction

📝 In this tutorial, you will learn how to integrate CronWeb with RapidAPI using Python and the Requests library. CronWeb enables you to schedule and run cron jobs easily, while RapidAPI provides a vast collection of APIs for various purposes. By combining the two, you can automate tasks and access external APIs on a scheduled basis. 🚀

CronWeb RapidAPI Page


Prerequisites

Before we begin, make sure you have the following:

  1. Python installed on your machine (preferably Python 3.x) 🐍
  2. The Requests library installed (pip install requests) 📦
  3. A RapidAPI account (sign up at RapidAPI) 🌐

Section 1: Creating a RapidAPI Account and Obtaining an API Key

To access RapidAPI services, you need an API key. Follow these steps to get your API key:

  1. Sign up or log in to your RapidAPI account at RapidAPI. ✅
  2. Go to CronWeb tool and Subscribe to FREE Plan(Basic). 🔄
  3. Once subscribed, you will receive an API key. Keep it safe, as we'll use it in our Python script. 🔑

CronWeb Plans and Pricing


Section 2: Implementing the CronJob with RapidAPI Integration

Now, let's create a Python script that uses CronWeb API to schedule a task to make a webhook request to our server on specified date and time. Here's an example:

import requests
import os

RAPIDAPI_KEY = os.getenv('RAPIDAPI_KEY')

def schedule_job():

    url = "https://cronweb-webhook-driven-cron-job-scheduler.p.rapidapi.com/schedule/"

    payload = {
        "description": "Send email to inactive users",
        "url": "https://api.example.com/your-webhook-endpoint", # replace with your webhook server
        "method": "POST",
        "params": {},
        "payload": {    # payload as per your requirements
            "action": "inactive.email",
            "message": "Send e-mail to inactive users on upcoming monday morning"
        },
        "headers": {    # optional headers
            "signature": "X-example-Signature": "xxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        "minute": 0,
        "hour": 7,
        "day": 17,
        "month": 8,
        "timezone": "UTC"
    }
    headers = {
        "content-type": "application/json",
        'X-RapidAPI-Key': RAPIDAPI_KEY,
        "X-RapidAPI-Host": "cronweb-webhook-driven-cron-job-scheduler.p.rapidapi.com"
    }

    response = requests.post(url, json=payload, headers=headers)

    print(response.json())  # save the returned "id" to access the task later

if __name__=="__main__":
    schedule_job()

Enter fullscreen mode Exit fullscreen mode

In the above code snippet:

  • We import the necessary modules: requests for making HTTP requests, and os for accessing environment variables. 📦
  • We define the schedule_job function that makes an HTTP GET request to the desired RapidAPI endpoint, passing the necessary headers with the API key from the environment variables. ⚙️
  • We print the JSON response. 🖨️

Section 3: Running the Python Script

To run the Python script, follow these steps:

  1. Create a new file named script.py. 📁
  2. Copy and paste the code snippet from Section 2 into script.py. 📋
  3. Replace 'https://api.example.com/your-webhook-endpoint' with the actual webhook endpoint URL you want to call. 🌐
  4. Save the changes. 💾
  5. You can start the script by running the command python script.py in your terminal. 🚀
  6. Now, make sure the specified url is accessible through the internet with provided headers and HTTP method. CronWeb will make API request to the server at the date and time you specified. 📅

Conclusion

Congratulations! You have successfully integrated CronWeb API using Python and the Requests library. With this setup, you can automate tasks and leverage the wide range of RapidAPI services on a scheduled basis. Explore the possibilities and enhance your applications with scheduled API calls. 🎉

If you have any questions or need further assistance, feel free to reach out to the CronWeb or RapidAPI support teams. 💬


Happy coding! 👩‍💻👨‍💻

That's it! I hope this tutorial helps you understand how to use CronWeb with RapidAPI in Python with the Requests library. Let me know if there's anything else I can assist you with! 😊

Top comments (0)