আমার হোমব্রু থেকে পোস্টগ্রিজ এবং যাত্রী ইনস্টল হয়েছে এবং অ্যাপাচে নির্মিত ওএস এক্স ব্যবহার করব। আমার বেশ কয়েকটি রেল অ্যাপ্লিকেশন রয়েছে যা পোস্টগ্রিজ ব্যবহার করে যা যাত্রী দ্বারা পরিচালিত হয় যা ঘুরেফিরে অ্যাপাচি দ্বারা পরিচালিত হয়।
বর্তমানে এপাচি বুট থেকে লঞ্চ করে শুরু হয়, অ্যাপাচি /System/Library/LaunchDaemons/org.apache.httpd.plistযাত্রীবাহী হয়ে শুরু করে /etc/apache2/other/passenger.confএবং একবার আমি পোস্টগ্রাগে লগইন করেছি এর মাধ্যমে শুরু হয় ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist।
যতক্ষণ না আমার ম্যাকটি শাট ডাউন বা পুনরায় চালু করা দরকার ততক্ষণ সবকিছু ঠিকঠাক শুরু হয় এবং দুর্দান্ত কাজ করে; তারপরে আমি কীভাবে সমস্ত কিছুকে চোখের জল ফেলে দিয়েছি এমন একটি সমস্যায় পড়ি। মূলত লঞ্চ করা প্রতিটি ব্যবহারকারীর প্রসেসে সিগনটার পাঠায় এবং তারপরে 20 সেকেন্ড পরে ( http://www.opensource.apple.com/source/launchd/launchd-842.92.1/src/core.c ) সিকিল পাঠায়, তবে পোস্টগ্রিসগুলি SIGTERM হিসাবে আচরণ করে একটি "স্মার্ট শাটডাউন" সিগন্যাল ( http://www.postgresql.org/docs/9.5/static/server-shutdown.html ) এবং প্রস্থান করার আগে এটি উপস্থিত সমস্ত সেশনগুলি নিজেদের বন্ধ করার জন্য অপেক্ষা করে। সমস্যাটি হ'ল সেশনগুলি যাত্রীর অধীনে চলমান রেল অ্যাপসের মালিকানাধীন এবং তাই অ্যাপাচি বন্ধ না হওয়া পর্যন্ত বন্ধ হবে না। সিস্টেমটি বন্ধ না হওয়া পর্যন্ত অ্যাপাচি বন্ধ হয় না। যার অর্থ পোস্টগ্রাগস SIGKILLএড হয় এবং এটিকে ছেড়ে যায় 'postmaster.pidআশেপাশে থাকা ফাইলটি পোস্টগ্র্রেসকে আমি rmযে ফাইলটি না করা পর্যন্ত পরবর্তী বুট শুরু করতে বাধা দেয় ।
পোস্টগ্রিসের লঞ্চ করা প্লিস্টটি কি /Library/LaunchDaemons/আরও ভাল ধারণা হতে পারে? এটি সম্ভাব্যভাবে পোস্টগ্র্যাস এবং অ্যাপাচি একই সাথে বন্ধ করে দেবে, যা 20 সেকেন্ড সময় দেওয়ার জন্য পোস্টগ্র্যাসের পরিষ্কারভাবে প্রস্থান করার জন্য পর্যাপ্ত সময় হওয়া উচিত। তবে আমি একটি সহজ সমাধান অনুপস্থিত হতে পারে।