Python हमें विशिष्ट समय पर कार्य चलाने के लिए एक जेनेरिक शेड्यूलर देता है। हम schedule नामक एक मॉड्यूल का उपयोग करेंगे। इस मॉड्यूल में हम वांछित शेड्यूल प्राप्त करने के लिए every फ़ंक्शन का उपयोग करते हैं। नीचे every फ़ंक्शन के साथ उपलब्ध सुविधाएं हैं।
सिंटैक्स
Schedule.every(n).[timeframe] यहां n समय अंतराल है। टाइमफ्रेम हो सकता है - सेकंड, घंटे, दिन या सप्ताह के दिनों के नाम जैसे - रविवार, सोमवार आदि।
उदाहरण
नीचे दिए गए उदाहरण में हम schedule मॉड्यूल का उपयोग करके हर कुछ सेकंड में बिटकॉइन की कीमत प्राप्त करेंगे। हम coindesk द्वारा प्रदान किए गए API का भी उपयोग करेंगे। उस उद्देश्य के लिए हम requests मॉड्यूल का उपयोग करेंगे। हमें time मॉड्यूल की भी आवश्यकता होगी क्योंकि हमें प्रोग्राम को चालू रखने और API के प्रतिक्रिया देने की प्रतीक्षा करने के लिए स्लीप फ़ंक्शन की अनुमति देनी होगी, जब प्रतिक्रिया में देरी होती है।
उदाहरण
import schedule
import time
import requests
Uniform_Resource_Locator = "https://api.coindesk.com/v1/bpi/currentprice.json"
data = requests.get(Uniform_Resource_Locator)
input = data.json()
def fetch_bitcoin():
print("Getting Bitcoin Price")
result = input['bpi']['USD']
print(result)
def fetch_bitcoin_by_currency(x):
print("Getting bitcoin price in: ", x)
result = input['bpi'][x]
print(result)
# समय
schedule.every(4).seconds.do(fetch_bitcoin)
schedule.every(7).seconds.do(fetch_bitcoin_by_currency, 'GBP')
schedule.every(9).seconds.do(fetch_bitcoin_by_currency, 'EUR')
while True:
schedule.run_pending()
time.sleep(1)
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है
आउटपुट
Getting Bitcoin Price {'code': 'USD', 'symbol': '$', 'rate': '7,069.1967', 'description': 'United States Dollar', 'rate_float': 7069.1967}
Getting bitcoin price in: GBP {'code': 'GBP', 'symbol': '£', 'rate': '5,279.3962', 'description': 'British Pound Sterling', 'rate_float': 5279.3962}
Getting Bitcoin Price {'code': 'USD', 'symbol': '$', 'rate': '7,069.1967', 'description': 'United States Dollar', 'rate_float': 7069.1967}
Getting bitcoin price in: EUR {'code': 'EUR', 'symbol': '€', 'rate': '6,342.4196', 'description': 'Euro', 'rate_float': 6342.4196}
Getting Bitcoin Price {'code': 'USD', 'symbol': '$', 'rate': '7,069.1967', 'description': 'United States Dollar', 'rate_float': 7069.1967}