iCal नहीं लंबे समय तक चलने वाली लिपियाँ?


12

मेरे पास AppleScripts के रूप में कुछ स्वचालित कार्य हैं जिन्हें मैं एक iCal इवेंट के माध्यम से रात भर चलाने के लिए शेड्यूल करूंगा। घटना को "घटना से पहले 0 मिनट" पर "रन स्क्रिप्ट" पर सेट किया जाएगा और मैं चलाने के लिए विभिन्न स्क्रिप्ट का चयन करूंगा।

जब से माउंटेन लायन में अपग्रेड किया गया है, हालांकि, "रन स्क्रिप्ट" अब सिर्फ "ओपन फाइल" है और स्क्रिप्ट नहीं चलती हैं, वे सिर्फ AppleScript एडिटर में खुलते हैं।

मैंने स्क्रिप्ट को अनुप्रयोगों में संकलित करने की कोशिश की कि क्या मैं इसके बजाय खोलने के लिए चुन सकता हूं, लेकिन वे घटना से चयन करने के लिए उपलब्ध नहीं हैं (वे बाहर निकल गए हैं)।

  1. मुझे अपनी स्क्रिप्ट चलाने के लिए कैलेंडर कैसे मिल सकता है?
  2. इसके विपरीत, क्या स्क्रिप्ट को चलाने का एक बेहतर तरीका है?

जवाबों:


10

मैंने शेड्यूलिंग नौकरियों के बारे में एक सवाल का जवाब लिखा जो आपके लिए कुछ मुद्दों को हल कर सकता है। यह ज्यादातर एक समय के लिए बंद था, हालांकि चल रहा था।

यदि आपके पास एक चालू काम है, जैसे कि आपने iCal के माध्यम से शेड्यूल किया होगा, तो launchdअच्छी तरह से काम करेगा।

लेकिन अगर आप iCal / Calendar के साथ कुछ वैसा ही प्रतिस्थापन चाहते हैं, तो ऐसा लगता है कि Apple डिस्कशन बोर्ड पर यह शानदार राइटअप ऑटोमेकर के 'कैलेंडर अलार्म ' का उपयोग करता है। एक उपयोगकर्ता ने यहां तक ​​कहा कि इस नए तरीके का उपयोग करना और भी आसान है। मैं व्यक्तिगत रूप से ऑटोमेटर की अतिरिक्त शक्ति के साथ सोचता हूं, यह नई शक्ति भी जोड़ता है।

उस साइट से:

यहाँ एक समाधान है जो मेरे लिए काम करता है:

  1. ऑटोमेटर में, एक कैलेंडर अलार्म बनाएं
  2. लाइब्रेरी फलक से उपयोगिताएँ चुनें
  3. वर्कफ़्लो क्षेत्र में AppleScript चलाएँ और चुनें
  4. AppleScript रन AppleScript बॉक्स में कॉपी / पेस्ट करें
  5. नए बनाए गए कैलेंडर अलार्म को सहेजें
  6. Calendar.app खोलें, एक नया ईवेंट बनाएं
  7. अपने संदर्भ कैलेंडर के रूप में ऑटोमेटर कैलेंडर का चयन करें
  8. अलर्ट के लिए ओपन फाइल का चयन करें, और ऑटोमेटर में आपके द्वारा बनाई गई फाइल का चयन करें। डिफ़ॉल्ट रूप से, iCal वह फ़ाइल है जो ओपन फ़ाइल का चयन करते समय आती है।
  9. उसे अपने द्वारा बनाए गए ऑटोमेटर ऐप के नाम में बदलें।
  10. फ़ाइल नाम नहीं दिखाए जाने पर अन्य का चयन करें।

यहाँ छवि विवरण दर्ज करें

उपयोगकर्ता ने अपने पोस्ट के साथ-साथ कुछ स्क्रीनशॉट भी संलग्न किए हैं, लेकिन मैंने ऑटोमोटिव में चुने जाने की आवश्यकता के स्क्रीनशॉट को शामिल किया है।


1
यह बहुत अच्छा लग रहा है! यह आज रात मेरे कार्यों के साथ परीक्षण किया जाएगा, लेकिन ऐसा लगता है कि यह शानदार ढंग से काम करेगा। उल्लिखित चरणों के बारे में एक दिलचस्प नोट, ऐसा लगता है कि उनके लिए एक अद्यतन है (संभवतः माउंटेन शेर के लिए नया, मुझे नहीं पता)। ऑटोमेटर में "फ़ाइल" को सहेजते समय, वास्तव में इसे कहीं फ़ाइल के रूप में सहेजने का कोई विकल्प नहीं था। (फ़ाइल सिस्टम से दूर जाने के लिए एप्पल का धक्का, कोई संदेह नहीं है।) यह सिर्फ एक नाम के साथ बचाता है और वह है। और जैसे ही यह बचाता है, कैलेंडर स्वचालित रूप से बनाई गई घटना के साथ केंद्रित हो जाता है। मुझे बस समय को समायोजित करना था और घटना के लिए दोहराना निर्धारित करना था।
डेविड

4

ऐसा प्रतीत होता है कि Apple ने मैक ओएस एक्स 10.8, उर्फ ​​माउंटेन लायन में iCal से कैलेंडर तक "रन स्क्रिप्ट" कार्यक्षमता को नहीं निभाया।

आप Mac OS X को कई तरीकों से चलाने के लिए एप्लिकेशन को शेड्यूल कर सकते हैं।

अंतर्निहित शेड्यूलिंग उपकरण

वरीय निर्मित शेड्यूलिंग विधि उपयोग करने के लिए है launchd (लांच डेमॉन)। उपयोग करने के लिए launchdआप लॉन्च किए गए जॉब टिकट बनाएं और उन्हें अपने ~/Library/LaunchAgents/फ़ोल्डर में रखें।

cronमैक ओएस एक्स पर उपलब्ध है, लेकिन अब अनुशंसित नहीं है। हालाँकि, कई शेड्यूल हैं जिनके द्वारा प्रतिनिधित्व किया जा सकता है cronऔर इसके द्वारा नहीं launchd

Apple का लॉन्च डॉक्यूमेंटेशन शुरू करने के लिए एक अच्छी जगह है।

थर्ड पार्टी शेड्यूलिंग टूल

यदि आप ग्राफ़िकल इंटरफ़ेस या अधिक कार्यक्षमता चाहते हैं, तो तृतीय पक्ष एप्लिकेशन उपलब्ध हैं। मेरी कंपनी पावर मैनेजर विकसित करती है ; अन्य समाधान भी मौजूद हैं।


आप केवल पर्याप्त StartCalendarInterval शब्दकोशों को जोड़कर लॉन्च के साथ क्रोन जैसे शेड्यूल का प्रतिनिधित्व कर सकते हैं ।
०२

1
क्रोन की शेड्यूलिंग भाषा अविश्वसनीय और बेहद शक्तिशाली है। अफसोस की बात है कि एक ही शक्ति प्रदान करने के लिए प्रत्येक मिनट की गणना और परीक्षण के बिना सटीक भविष्यवाणी करना मुश्किल है। यह एक कारण है कि क्रोन की अब सिफारिश नहीं की जाती है, इसके लिए मतदान की आवश्यकता होती है; लॉन्चड मतदान की आवश्यकता के बिना कार्यों को निर्धारित कर सकता है।
ग्राहम मिलन

0

jmlumpkin का जवाब स्पॉट-ऑन है, लेकिन आप इसे खुद पर और भी आसान बना सकते हैं। जैसा कि मैंने एक ब्लॉग पोस्ट में बताया है , आपको अपने द्वारा बनाए गए नए वर्कफ़्लो में स्क्रिप्ट को कॉपी और पेस्ट करने की आवश्यकता नहीं है। आप इसके बजाय वर्कफ़्लो के अंदर से मूल AppleScript कॉल कर सकते हैं:

on run {input, parameters}

    run script file "Macintosh HD:Some Directory On Disk:a cool script.applescript"

end run
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.