প্লাস্টার launctl ব্যবহার করে অ্যাপলস্ক্রিপ্ট চলমান না


0

আমি আমার অ্যাপলস্ক্রিপ্টটি 60 সেকেন্ড অন্তর চালানোর জন্য নির্ধারিত করছি যা দুটি শেল স্ক্রিপ্ট চালায় এবং আমার প্লেস্টটি সঠিকভাবে সেটআপ করার জন্য হাজির হয়েছে, কারণ 60 সেকেন্ডের ব্যবধানের পরে দুটি ফাইল আউটপুট করা হয়েছে (স্ট্যান্ডার্ড ইরাপথ এবং স্ট্যান্ডার্ডঅউটপ্যাথ), তবে আমি ফলাফলগুলি দেখতে পাচ্ছি না স্ক্রিপ্ট এডিটরতে স্ক্রিপ্টটি চালানোর সময় আমার শেল স্ক্রিপ্টগুলি যেমন প্রদর্শিত হয়েছিল। আমার কাছে এই বলে মনে হচ্ছে যে ProgramArguments বিভাগটি আমার অ্যাপলস্ক্রিপ্ট লোড হচ্ছে না। যে কেউ আমাকে সঠিক দিক নির্দেশ করতে পারেন? আমার প্লাস্টারের ত্রুটি ফাইলটিতে লগ ইন করতে আমার অ্যাপলস্ক্রিপ্টে কিছু ধরনের লগিং যোগ করা উচিত?

অ্যাপলস্ক্রিপ্ট ফাইল (শেল স্ক্রিপ্ট স্ক্রিপ্ট সম্পাদক এবং টার্মিনালে সঠিকভাবে সঞ্চালিত হয়):

do shell script "cd /Users/user/Desktop/Projects/node/webmasters-cli && /Users/user/.nvm/versions/node/v4.3.2/bin/node app.js DesktopUSA"
do shell script "cd /Users/user/Desktop/Projects/node/webmasters-cli && /Users/user/.nvm/versions/node/v4.3.2/bin/node app.js DesktopAll"

প্লেস্ট (ব্যবহারকারী / ব্যবহারকারী / লাইব্রেরী / লঞ্চ অ্যাজেন্টগুলিতে অবস্থিত)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.webmasters.daily.pull</string>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/user/Desktop/Projects/node/webmasters-cli/daily-api-call.scpt</string>
    </array>
    <key>StartInterval</key>
    <integer>60</integer>
    <key>StandardErrorPath</key>
    <string>/tmp/webmastersDailyTest.err</string>
    <key>StandardOutPath</key>
    <string>/tmp/webmastersDailyTest.out</string>
</dict>
</plist>

Launchctl লোড করার জন্য পদক্ষেপ:

1) ডিরেক্টরি পরিবর্তন

2) দৌড়ে launchctl load com.user.webmasters.daily.pull.plist

3) সঙ্গে চেক launchctl list। plist হাজির।

4) চেক করা /tmp এবং StandardErrorPath এবং StandardOutPath উভয় ফাইল 60 সেকেন্ডের পরে তৈরি করা হয়। প্রত্যাশিত হিসাবে ফাইলের মধ্যে কোন মান।


কেন চালানো সরাসরি শেল স্ক্রিপ্ট চালানো না?
Mark

@ মারক সৎ হতে আমি কেবল ম্যাকের অটোমেশন নির্ধারণের বিষয়ে শিখছি এবং সম্পর্কে অনেক কিছু জানি না launchd। আপনি একটি নির্দিষ্ট ফ্রিকোয়েন্সি চালানোর জন্য শেল স্ক্রিপ্ট নির্ধারণ করতে পারেন? (সপ্তাহের দিন, ঘন্টা, ইত্যাদি)
cphill

হ্যাঁ এবং এটিই চালু হচ্ছে যা এটি একটি প্রোগ্রাম চালাচ্ছে যা একটি শেল স্ক্রিপ্ট হতে পারে - লেখার সহজতর করার জন্য প্লাস্টারগুলি লঞ্চ নিয়ন্ত্রণের মতো সরঞ্জামগুলি দেখে
Mark

@ মার্ক আপনি শেল স্ক্রিপ্টটি চালানোর জন্য আমার প্লাস্টারে আপনার প্রস্তাবিত পরিবর্তনটির উত্তর দেওয়ার পরামর্শ দিতে পারেন?
cphill

উত্তর:


1

যোগ করার চেষ্টা করুন /usr/bin/osascript প্রথম হিসাবে ProgramArguments। এই স্পষ্টভাবে বলতে হবে launchd ব্যবহার করতে osascript আপনার স্ক্রিপ্ট চালানোর জন্য।

সরাসরি অভিগমন

আপনি এই launchd কাজের জন্য অ্যাপলস্ক্রিপ্ট ব্যবহার করতে হবে? যদি না হয়, আপনি সরাসরি কল করে বিমূর্তকরণ একটি স্তর এড়াতে পারে node:

<key>WorkingDirectory</key>
<string>/Users/user/Desktop/Projects/node/webmasters-cli</string>
<key>ProgramArguments</key>
<array>
    <string>/Users/user/.nvm/versions/node/v4.3.2/bin/node</string>
    <string>app.js</string>
    <string>DesktopUSA</string>
</array>

উত্তরের জন্য ধন্যবাদ. আমি কেবলমাত্র plists এবং launchd সম্পর্কে শিখছি হিসাবে আমি প্রয়োজন হবে কিনা তা নিশ্চিত নই। উপরে আমার শেল স্ক্রিপ্ট যোগ করার জন্য, আমি আমার app.js ফাইল বিদ্যমান যেখানে ডিরেক্টরী পরিবর্তন করছি এবং তারপর নোড বিদ্যমান এবং নির্দেশিত সঙ্গে আমার জেএস ফাইল নেভিগেশন নোডিজস কমান চলমান নির্দেশ করে। উপরে আপনার উত্তর এটি কমান্ড দ্বিতীয় অর্ধেক অন্তর্ভুক্ত মনে হচ্ছে। প্লাস্টারের মধ্যে কি করা সম্ভব?
cphill

Launchd কাজ শুধুমাত্র একটি প্রক্রিয়া চালানো যাবে। আপনি আপনার শেল স্ক্রিপ্ট সরাসরি কল করতে লঞ্চযুক্ত কাজটি সংশোধন করতে পারেন - তারপর উভয় কমান্ড স্ক্রিপ্টে স্থাপন করা যেতে পারে। এই কাজের জন্য হয়, মত কিছু বিবেচনা করুন পাওয়ার ম্যানেজার অথবা অন্য তৃতীয় পক্ষের হাতিয়ার।
Graham Miln

1
উপরে আপনার কোড কাজ। আমি সব যোগ ছিল <string>/usr/bin/osascript</string> এবং আমার অ্যাপলস্ক্রিপ্ট একটি কবজ মত দৌড়ে। ধন্যবাদ!
cphill
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.