Python Script: vp_scheduler_n_events_1.py
Description
The vp_scheduler_n_events 1.py script defines a class EventsNSchedule
that implements two interfaces: IScheduler
and IEventHandler
using the zope.interface
library. The class is designed to handle event processing and task scheduling. The script sets up logging to record the operations performed by this class, including environment details and current timestamps. This script has no editable parameters. The script is uploaded to the Cloud Services Portal through the Application tab (Infoblox Portal > Configuration > Administration > Data Connector > Automations).
This script is utilized when customers upload their own script instead of subscribing to an AppDirect marketplace script. If customers are using automation scripts from the marketplace, there is no need to upload this script. For information on uploading your own scripts for use with Data Connector, see Uploading Python Automation Scripts for Use with the Cloud Services Portal.
Purpose of the Script
The script is primarily used for:
Event Processing: Handling and logging events with relevant context information.
Task Scheduling: Logging current timestamps and environment details for scheduled tasks.
import zope
import interface
import logging
import os
from datetime import datetime
logging.basicConfig(filename='scheduler_n_event_script.log', encoding='utf-8', level=logging.DEBUG)
log = logging.getLogger('__name__')
#log = logging.getLogger('infoblox_driver')
@zope.interface.implementer(interface.IScheduler, interface.IEventHandler)
class EventsNSchedule:
def __init__(self, attributes=None):
pass
def schedule(self, context):
log.info("Current timestamp: {}".format(datetime.now()))
log.info("Read environments...")
env_items = os.environ.items()
log.info(f"Environment items: {env_items}")
def process(self, context, event):
ctx = os.environ.items()
log.info(f"processing the event\n : {event}\nctx data: {ctx}")
#MyScheduler.schedule('','')