हेरोकू को रोकने का आसान तरीका?


285

हेरोकू फ्री ऐप्स में डायनोस सुस्ती का एहसास कराते रहते हैं - मेरे ऐप में ट्रैफ़िक बहुत कम है लेकिन यह मेरे मामले में वास्तव में स्वीकार्य भी नहीं है कि मेरे यूजर्स को एक नया डायनो स्पिन करने के लिए 20+ सेकंड इंतज़ार करना पड़े।

सच कहूँ तो, इस तरह के इंतजार के साथ, कई पहले पेज से पहले ही प्रदर्शित हो जाएंगे।

इसलिए, मुझे एक समस्या है: क्या मुझे प्रत्येक उपयोगकर्ता को शर्मनाक रूप से लंबे 20 सेकंड बचाने के लिए $ 36 प्रति माह का भुगतान करना चाहिए, जब मेरा ट्रैफ़िक प्रति दिन एकल अंकों में हो।

क्या इसके चारों ओर एक रास्ता है??


13
1 जुलाई 2015 तक, हेरोकू की घोषणा के अनुसार, यह संभव नहीं होगा: blog.heroku.com/archives/2015/5/7/heroku-free-dynos । उन्होंने हालांकि एक "शौक" योजना पेश की जिसकी लागत केवल $ 7 / महीना थी।
क्रिस्टियन

1
अब $ 5 / महीना (या उससे कम बिल प्रति घंटा) के लिए वर्चुअल सर्वर उपलब्ध हो सकते हैं जो पूर्ण शेल एक्सेस आदि प्रदान करते हैं। मैंने अब एक वर्ष से अधिक समय के लिए DigitalOcean का उपयोग किया है, लेकिन मुझे यकीन है कि प्रतिस्पर्धा करने के लिए अन्य स्थान हैं। IMO एक बेहतर उपाय है अगर
हरोकू

1
@sricks एक पूर्ण VPS (जिसे आपको प्रबंधित करने की आवश्यकता है, अद्यतन रखें, एक Git सर्वर, वेब सर्वर, DB सर्वर, फ़ायरवॉल, Git हुक, बैकअप, वाल-ई, आदि, आदि को कॉन्फ़िगर करें) Heroku () के लिए एक अलग बात है एक PaaS)। कुछ मामलों में आप पूर्व चाहते हैं, दूसरों में बाद वाले, लेकिन कच्चा डॉलर एक प्राथमिक मीट्रिक होना चाहिए। समय और जोखिम होना चाहिए।
एलीथ्रर

RoR ऐप पर नया रेलिक एजेंट कैसे स्थापित करें? newrelic.com/ruby
मैन्नी क्विंटानिला

1
1 जून 2016 तक, यदि आप क्रेडिट कार्ड से सत्यापन करते हैं तो यह फिर से संभव है। घोषणा । आपको महीने में 1000 मुफ्त घंटे मिलेंगे, और महीने में केवल 730 घंटे हैं। मान लें कि आपके पास केवल एक डायनो चल रहा है, तो आप 24/7 मुफ्त में जा सकते हैं।
बेक्ड आलू

जवाबों:


351

आप नि: शुल्क नई रेलिक ऐड-ऑन स्थापित कर सकते हैं । इसमें एक उपलब्धता मॉनिटर सुविधा है जो आपकी साइट को प्रति मिनट दो बार पिंग करेगी, इस प्रकार डिनो को निष्क्रिय करने से रोकती है।

कमोबेश यही समाधान जेसी के रूप में है, लेकिन हो सकता है कि हेरोकू से अधिक एकीकृत हो ... और कुछ भत्तों के साथ (प्रदर्शन की निगरानी सिर्फ महान है)।

उपलब्धता की निगरानी

नोट: उन सभी को यह कहते हुए काम नहीं करता है: मेरे जवाब में महत्वपूर्ण हिस्सा "उपलब्धता मॉनिटर" है। बस ऐडऑन को स्थापित करने से मदद नहीं मिलेगी। आपको अपने हरोकू ऐप के यूआरएल के साथ उपलब्धता की निगरानी भी करनी होगी।


6
क्या हमें डायनो को निष्क्रिय होने से रोकने के लिए मणि 'newrelic_rpm' भी स्थापित करनी होगी?
सिमो

3
यह डायनो के उपयोग को कितना बढ़ाता है?
ट्रेवोके

4
मुझे अभी हाल ही में यह पता चला है। यह अभी भी उत्कृष्ट रूप से काम करता है । हालाँकि, यदि मैं 'एप्लिकेशन उपलब्ध' संदेश प्रदर्शित करने से पहले यह सुनिश्चित कर लेता हूं कि मैं एक साधारण DB क्वेरी करूँ। यह भी पगोडा, और किसी भी अन्य नींद मेजबान के साथ बहुत अच्छा काम करता है।
जैकब इवान श्रेवे

8
@aubraus: आपका संपादन अस्वीकार कर दिया गया ... वैसे भी: यह कहने वाले सभी लोगों के लिए यह काम नहीं करता है: मेरे जवाब में महत्वपूर्ण हिस्सा "उपलब्धता की निगरानी" है। बस ऐडऑन को स्थापित करने से मदद नहीं मिलेगी। आपको अपने हरोकू ऐप के यूआरएल के साथ उपलब्धता की निगरानी भी करनी होगी।
पियरे

13
यदि किसी को अभी भी इसकी तलाश है, तो पिंग के लिए सीधा लिंक यहां है: synthetics.newrelic.com/accounts/Iyour_account_idades/monitors/new बस आपके खाता आईडी में उप।
एरिक यांग

91

Phatt के विकल्प के रूप में, मैं Uptimerobot की कोशिश करने का सुझाव देता हूं । यह मुफ़्त है और 5 मिनट की अंतराल साइट की जाँच प्रदान करता है। यह मेरे लिए बहुत अच्छा काम करता है।

7 मई 2015 को अद्यतन: यह किसी भी अधिक संभव नहीं होगा, क्योंकि हरोकू अपने स्वतंत्र डायनो को पूरे 24 घंटे तक जीवित रखने से रोकने के लिए बदल देगा :

एक अन्य महत्वपूर्ण बदलाव के लिए dyno सो, या 'सुस्ती' के साथ करना है। हालांकि गैर-भुगतान किए गए एप्लिकेशन हमेशा गतिविधि के समय के बाद सो गए हैं, कुछ ऐप ने उस व्यवहार को रोकने के लिए स्वचालित पिंगिंग सेवाओं का उपयोग किया है। मुक्त डायनोस को प्रति 24 घंटे की अवधि में 18 घंटे जागने की अनुमति है, और अगले कुछ हफ्तों में हम उन उपयोगकर्ताओं को सूचित करना शुरू कर देंगे जो इस सीमा से अधिक हैं। हॉबी डायनो (प्रति माह 7 डॉलर) की शुरूआत के साथ, हम या तो अपने ऐप को समय से बाहर सोने के लिए कह रहे हैं, या इस नए विकल्प पर अपग्रेड करें।

यह कब जीना है? उनके ब्लॉग पोस्ट के अनुसार:

एकल 1X dyno चलाने वाले एप्लिकेशन जो किसी भी अन्य dyno शुल्क को जमा नहीं करते हैं उन्हें 1 जुलाई से शुरू होने वाले नए मुक्त dynos में धीरे-धीरे माइग्रेट किया जाएगा ।


1
Uptimerobot नीचे (विडंबना) लगता है। आप साइन अप कर सकते हैं और लॉग इन कर सकते हैं, लेकिन यदि आप एक नया मॉनिटर जोड़ने का प्रयास करते हैं, तो यह बस कहता है "मॉनिटर पहले से ही
जेफ एक्सल्रॉड

अच्छी तरह से काम करने लगता है, ... मैं समझता हूँ कि हरोकू नि: शुल्क सेवाओं पर सोता है, लेकिन यह एक केंद्रीय समन्वयक (जिसे नट द्वारा स्केल नहीं किया जा सकता है) की मेजबानी करते समय बेकार हो जाता है।
jonasfj

मैं यह करने में सक्षम नहीं था क्योंकि Uptimerobot को IP पते की आवश्यकता है ?? मैं देख नहीं पा रहा हूँ कि यह कैसे एक यूआरएल के साथ काम करने के लिए मिलता है, एक हर्कोप्पल यूआरएल की तरह। संपादित करें: मेरा बुरा, मैं डाल रहा था http://और एक त्रुटि हो रही थी।
रुबिन मार्टिनेज जूनियर।

1
बड़ा अंतर 5 मिनट के अंतराल का है इसका मतलब है कि यह नीचे होने पर आपको सूचित किए जाने से 5 मिनट पहले होगा। हम पिंगोमीटर ( pingometer.com ) का उपयोग करते हैं जिसमें 1 मिनट का अंतराल है और यह हरोकू के साथ बहुत अच्छा है।
ओकोबोको

9
अप्रैल, 2017 तक, 18 घंटे की सीमा समाप्त हो गई है, आप अपना नि: शुल्क dyno 24/7 तक ले सकते हैं, बशर्ते आपका खाता सत्यापित हो। devcenter-staging.heroku.com/articles/free-dyno-hour-faq
बैगनी

76

मेरी राय में, सेवा के 'फ्री' टियर का उपयोग करके किसी प्रोडक्शन या कस्टमर फेसिंग एप्लीकेशन को पॉवर नहीं देना चाहिए। हालांकि उपरोक्त समाधान डायनो आइडलिंग के खिलाफ काम करते हैं, आप जो कर रहे हैं उसके बारे में अच्छी तरह से सोचें।

यदि और कुछ नहीं है, तो अपनी साइट को पिंग करने के लिए एक क्रॉन जॉब का उपयोग करें, और ज्ञात कम-उपयोग अवधि (यानी, रात भर) के लिए चेक को अक्षम करें ताकि यह सुनिश्चित किया जा सके कि हरोकू बाकी सभी के लिए मुफ्त टियर के साथ नहीं करता है।


आपके उत्तर के लिए धन्यवाद। आप विशेष रूप से 'क्या कर रहे हैं के बारे में अच्छी तरह से लगता है' से क्या मतलब है?
sscirrus

36
इस समाधान के लिए उपरोक्त उत्तर पढ़ने वाले लोगों के लिए शायद ही। हरोकू पर मुफ्त टियर का लक्ष्य एक उत्पादन ऐप की मेजबानी नहीं करना है जो ग्राहकों के लिए उपलब्ध होना चाहिए। फ्री टियर आइडलिंग हेरोकू को लगातार चलने वाले सर्वर की बड़ी ओवरहेड लागत के बिना, विकास / परीक्षण के लिए इस स्तर की पेशकश करने की अनुमति देता है।
13 अक्टूबर को

29
यह कम ट्रैफ़िक और बिना भुगतान वाले ग्राहकों के साथ "उत्पादन" साइट के लिए भी ठीक है, जिसे आप लोड करने के लिए पहले पृष्ठ के लिए तीस सेकंड इंतजार नहीं करना चाहते हैं।
alxndr

2
आप सही हैं, लेकिन सिर्फ एक डायनो को चलाने के कई वैध कारण हैं ... जैसे कि स्मृति में किसी न किसी राज्य के साथ एक समन्वयक होना ...
जोनासफज

17
आप उसके ऐप के बारे में बहुत अधिक नहीं जानते हैं इसलिए मुझे लगता है कि आपकी टिप्पणी काफी विचारशील है।
wobbily_col

60

आप http://kaffeine.herokuapp.com (मेरे द्वारा बनाया गया) की कोशिश कर सकते हैं , यह हरोकू ऐप को सो जाने से रोकने के लिए बनाया गया है। यह आपके ऐप को हर 10 मिनट में पिंग करेगा जिससे आपका ऐप सो नहीं जाएगा। यह पूरी तरह से स्वतंत्र है।


1
क्या यह संभव है कि आप अपनी सेवा से अपने हॉक्यूकैप को निकाल सकें?
उल्का

2
यह अब नए ऐप्स को स्वीकार नहीं करता है। इसके GitHub पेज में उस बारे में कई मुद्दे हैं। इस जवाब को अब अप्रचलित माना जा सकता है।
निकोले.लपटेव

45

अपने ऐप को जांचने के लिए आप http://phatt.com/ का उपयोग कर सकते हैं ; यदि हर मिनट या तो किया जाता है, तो हरोकू आपके ऐप को निष्क्रिय नहीं करेगा और स्पिन-अप करने की आवश्यकता नहीं होगी।


2
तो दो जवाबों के बीच फैसला करना मुश्किल! अंत में मैं न्यूरिकेल के साथ गया क्योंकि मेरा पहले से ही वहां खाता है। इस महान सुझाव के लिए बहुत बहुत धन्यवाद - यह वास्तव में मेरी समस्या को हल करता है। :) +1।
sscirrus

2
यह हर मिनट क्यों होता है? जैसा कि आप @ newe1344 के उत्तर में देख सकते हैं, हरोकू निष्क्रियता के एक घंटे के बाद डायनो को नीचे गिरा देता है। तो निश्चित रूप से हर 59 मिनट पर अधिक प्रभावशाली है?
डार्विन टेक

2
जब यह नीचे होता है तो यह रिपोर्ट करता है, इसलिए नींद को रोकने और डाउनटाइम को रिपोर्ट करने के लिए मिनट की आवृत्ति अच्छी तरह से काम करती है
जेसी वोल्गामॉट

मुझे नहीं लगता कि इसके (अभी भी?) मुक्त।
rahulserver

@rahulserver - आप सही हैं, पीएसटीपी का अब मुफ्त खाता नहीं है।
जॉन लेहमैन

40

आसान जवाब - यदि आप सेवा को महत्व देते हैं तो इसके लिए भुगतान करें।

सशुल्क सेवा का लाभ पाने के लिए इन सभी 'ट्रिक्स' ... यह अनिवार्य रूप से केबल चोरी करने जैसा है। यहां तक ​​कि उन्हें सूचीबद्ध करने के लिए संदिग्ध। आगे क्या है, कैसे करें पायरेट गेम्स के गुर?

यहां एक और पोस्टर की तरह, मैं विकास और परीक्षण के लिए मुफ्त सेवा का महत्व देता हूं और अगर आप हरकोको इसके साथ दूर करते हैं तो मुझे नैतिकता-बिगड़ा हुआ प्रकार बहुत परेशान करेगा। मुझे नहीं लगता कि वह अपनी आलोचना में पर्याप्त प्रत्यक्ष थे।


14
यह कुछ शर्तों के साथ एक सशुल्क सेवा है। इसका सबसे अधिक लाभ लेने के लिए उन शर्तों के भीतर सेवा के अपने उपयोग का अनुकूलन क्यों न करें?
pkinsky

8
वैसे मेरा मानना ​​है कि मैंने पहले ही कारण बता दिया था, लेकिन इसे थोड़ा आगे बढ़ाने के लिए - मुफ्त होस्टिंग का इरादा स्पष्ट है। और 'ऑलवेज ऑन' का फायदा एक दूसरे कर्मचारी के लिए सिर्फ पिटीशन के भुगतान का भी है। यहां सभी कारनामे एक सेवा के लिए भुगतान करने के लिए बेकार संसाधनों को शामिल करते हैं। यह शर्मनाक व्यवहार है। मुझे क्यों चिंता करनी चाहिए? क्योंकि अगर वे तंग आ गए, तो उनका सहारा मुफ्त सेवा के साथ करना होगा, जो कि इरादा के रूप में इस्तेमाल किया जाता है, मेरे लिए बहुत मायने रखता है।
एलसी

2
ठीक है कि आपके द्वारा ड्राइव किए गए डाउनवोटर्स को स्पष्ट करने के लिए, वह केवल यह नहीं पूछता कि "क्या इसके आसपास कोई रास्ता है?" वह यह भी पूछता है "क्या मुझे भुगतान करना चाहिए ..." यह वही है जो मैं जवाब दे रहा हूं। यह अधिक मौलिक प्रश्न है। यकीन है कि वहाँ बाईपास के मामूली आसान तरीके के टन कर रहे हैं। वे नैतिक रूप से गलत हैं, इसलिए उन्हें विस्तार से बताने के लिए समय की बर्बादी करना सबसे अच्छा है, और यकीनन यह काफी खराब है क्योंकि यह खराब व्यवहार को सक्षम और प्रोत्साहित करता है।
एलसी

4
यह थोड़ा बहुत है। हम परीक्षण करते समय हरोकू में तैनात हैं। जब हमारे ग्राहक साइट पर जाते हैं जब वह निष्क्रिय हो जाता है, तो हम यह मानते हैं कि ऐप से कुछ गलत है जिसे हमने सेवा से कनेक्ट करने के लिए विकसित किया था। ज़िम्मेदारी के लिए साइट को जीवित रखना एक ऐप को डेमो करने के लिए जो कभी दिन का प्रकाश नहीं देख सकता है शायद ही अनैतिक है। एक व्यक्तिगत दृढ़ विश्वास की तरह लगता है, न कि नैतिकता। यदि यह नियमों या कानून का उल्लंघन नहीं करता है, तो आपका नैतिक अनुमान गलत है । फ्रीमियम एक वैध व्यवसाय मॉडल है। उस के मुक्त हिस्से का "लाभ" लेना ठीक है। यह अपेक्षित है।
मैट लॉन्ग

1
तो आपका औचित्य "हर कोई इसे कर रहा है" यह वास्तव में एक नया तर्क नहीं है। या समझाने वाला। संपादित करें क्षमा करें आप कुछ लोगों के लिए मान्य एक बिंदु बनाते हैं। जो किया जा रहा है वह स्पष्ट रूप से निषिद्ध नहीं है इसलिए यह गलत नहीं है। मुझे पता है कि ऐसे लोग हैं जो मानते हैं कि 'जो स्पष्ट रूप से निषिद्ध नहीं है उसे अनुमति दी जाती है' और यह कहने के लिए आगे ले जाएं कि यह न केवल अनुमत है बल्कि 'गलत नहीं है'। यह संपूर्ण दृष्टिकोण वह है जो मैं बहुत ही सेल्फ सर्विंग तरीके से ओवररचिंग को लेबल करूँगा। लेकिन यह एक दार्शनिक दार्शनिक अंतर के लिए नीचे आता है।
एलसी

30

6/28/2013 को Node.js 0.10.x का उपयोग करके अपने स्वयं के हरोकू ऐप पर परीक्षण किया गया और काम किया गया

var http = require('http'); //importing http

function startKeepAlive() {
    setInterval(function() {
        var options = {
            host: 'your_app_name.herokuapp.com',
            port: 80,
            path: '/'
        };
        http.get(options, function(res) {
            res.on('data', function(chunk) {
                try {
                    // optional logging... disable after it's working
                    console.log("HEROKU RESPONSE: " + chunk);
                } catch (err) {
                    console.log(err.message);
                }
            });
        }).on('error', function(err) {
            console.log("Error: " + err.message);
        });
    }, 20 * 60 * 1000); // load every 20 minutes
}

startKeepAlive();

2
मेरे विचार में सबसे अच्छा समाधान, क्योंकि यह किसी तीसरे पक्ष की सेवा पर निर्भर नहीं करता है। धन्यवाद :)
इलेक्ट्रॉनिक्स

ऐसा लगता है कि यह सोने के लिए जाने से बचता नहीं है। लेकिन यह स्वचालित रूप से फिर से ऊपर जाने के लिए काम करता है। मुझे नहीं पता कि यह व्यवहार परिवर्तनों के कारण है, वास्तव में आप समाधान लगभग दो साल पहले से आते हैं।
jgato

20

मैं हरोकू द्वारा प्रदान किए गए हरोकू शेड्यूलर एडऑन का मुफ्त में उपयोग करता हूं। एक बार इसे जोड़ने के बाद 'कर्ल http://yourapp.herokuapp.com ' और 10 मिनट के अंतराल के साथ नौकरी बनाना सरल है ।


11

यह हरोकू प्रलेखन में कहता है कि 1 से अधिक वेब डायनो कभी बेकार नहीं होंगे। संभवतः पियरे की तरह $ 0.09 / घंटा की तुलना में एक सस्ता समाधान।

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

प्रलेखन


6
हरोकू ऐड-ऑन में एक मुफ्त मानक संस्करण है।
19

9

मैंने नीचे चरण लिखे हैं:

स्टेजिंग और प्रोडक्शन के तहत अपने जेमफाइल में your st newrelic_rpm ’मणि जोड़ें le
बंडल इंस्टॉल करें
➜ हरकू कंट्रोल पैनल में लॉगिन करें और newrelic addon जोड़ें control
एक बार जोड़ने के बाद, सेटअप स्वचालित पिंगिंग अपनी वेबसाइट पर करें ताकि यह निष्क्रिय न हो जाए
➜ मेनू पर जाएं> उपलब्धता की निगरानी करें (मॉनिटरिंग) सेटिंग के तहत) → "उपलब्धता की निगरानी चालू करें" पर क्लिक
करें the पिंग में यूआरएल दर्ज करें (जैसे: http://spokenvote.org )
ote अंतराल के लिए 1 मिनट का चयन करें


3
धन्यवाद प्रतीक FYI करें यदि आप हर मिनट अपने ऐप को पिंग करते हैं तो आप बिना किसी लाभ के बैंडविड्थ का उपयोग कर रहे हैं। जब तक आपके पास एक और कारण नहीं है कि यह एक स्पर्श वापस स्केल करना सुरक्षित है।
sscirrus

सुझाव के लिए धन्यवाद @ हवाईअड्डा
प्रतीक खदलोया

3
हरोकू केवल 1 घंटे की निष्क्रियता के बाद सोने के लिए आपके डायनो को लगाएगा, इसलिए आप अंतराल को 1 घंटे (या शायद 50 मिनट तक सुरक्षित पक्ष पर) में स्केल कर सकते हैं।
डेविड अंडरवुड

प्रश्न: क्या आपको पता है कि उस पिंग अंतराल को कहाँ बदलना है? यह डैशबोर्ड सेटिंग्स में उपलब्ध विकल्प नहीं लगता है।
mishap_n

4

मुझे एक और निशुल्क साइट मिली, जो आपकी साइट को लगातार यूनिडलर कहेगी

http://unidler.herokuapp.com/

पीएसडीआई के रूप में भी, लेकिन लॉग इन करने की आवश्यकता नहीं है।


जोड़ने के बाद कैसे निकालें?
Lekr0

3

ध्यान दें कि नए dyno प्रकार ( वर्तमान में बीटा में , जून 2015 में आने वाले) 24/7 जागृत एक स्वतंत्र dyno रखने के लिए मना करेंगे, क्योंकि इसे प्रति दिन कम से कम 6 घंटे सोना होगा।

इसलिए इस धागे में पाए गए किसी भी समाधान को निकालने से पहले इसे हटा दें (या वास्तव में आपके द्वारा उपयोग की जाने वाली सेवा के लिए भुगतान करें)।


3

यदि आपके पास हमेशा यूनिक्स सर्वर तक पहुंच है, तो आप GETअपनी वेबसाइट पर क्रॉन जॉब सेट कर सकते हैं । नि: शुल्क योजना की नई शर्तों के तहत, आप संभवत: GETरात को घंटों में अक्षम करना चाहते हैं , जैसे कि आपके क्रेस्टब में एक लाइन का उपयोग करना:

*/20 8-22 * * * /usr/bin/curl domain.com &> /dev/null

यह 8 और 22 के घंटों के बीच हर 20 मिनट में domain.com curlको निर्देश देता है GET

विदित हो कि

  1. हर कोई जो आपकी वेबसाइट देखना चाहता है वह आपके समयक्षेत्र में रहता है और
  2. आपकी साइट रात के बीच में अन्य अनुरोध प्राप्त कर सकती है, आपके डायनो को जगा सकती है और प्रत्येक अनुरोध के लिए एक और घंटे का उपयोग समय दे सकती है। यहां तक ​​कि अगर कोई और आपके डोमेन को नहीं जानता है, तो ऐसे बॉट और क्रॉलर हैं जो हर समय सक्रिय रहते हैं। इसलिए, इन वेक-अप के खिलाफ एक बफर प्रदान करने के लिए केवल 14 से 16 घंटे तक सक्रिय रहने के लिए आपके क्रॉस्टेब में परिभाषित प्रक्रिया को सेट करना उचित है।

इसके अलावा, सुनिश्चित करें कि आपके सिस्टम का समय ठीक से सेट किया गया है ताकि डाउन-टाइम विंडो तब हो जब आप इसकी अपेक्षा करते हैं।


3

यहाँ अधिकांश उत्तर पुराने हैं या वर्तमान में काम नहीं कर रहे हैं। व्यक्तिगत खातों के लिए वर्तमान मुफ्त टियर प्रत्येक माह 550 मुफ्त डायनो घंटे का आधार देता है

और एक सत्यापित मुफ्त खाता आपको 1000 घंटे का मुफ्त डायनो देता है। मैंने एक लेख लिखा था कि कैसे मैंने अपने फ्री ऐप को जगाए रखा।

https://link.medium.com/uDHrk5HAD0

आशा है कि यह किसी को भी मदद करता है जिसे 2019 में समाधान की आवश्यकता है


2

मेरे लिए यह काम एक स्प्रिंग एप्लीकेशन में हर 2 मिनट में रूट url पथ पर एक http अनुरोध करने का है

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.client.RestTemplate;

public class HerokuNotIdle {

private static final Logger LOG = LoggerFactory.getLogger(HerokuNotIdle.class);

@Scheduled(fixedDelay=120000)
public void herokuNotIdle(){
    LOG.debug("Heroku not idle execution");
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getForObject("http://yourapp.herokuapp.com/", Object.class);
}
}

शेड्यूलर को सक्षम करने और अपने शेड्यूलर के लिए बीन बनाने के लिए अपने संदर्भ को याद रखें

@EnableScheduling
public class AppConfig {

@Bean
public HerokuNotIdle herokuNotIdle(){
    return new HerokuNotIdle();
}
}

2

गाय, यहां एक हरोकू ऐप है जिसे आप कई हिरोकू ऐप को जीवित रखने के लिए चला सकते हैं। आप url को config.json में पिंग करना चाहते हैं।

https://github.com/jcarras/rise-and-shine


1

मेरे पास एक ऐप है जो केवल दोपहर के भोजन से लेकर शुक्रवार तक चलने तक ही है। मैंने काम पर निम्नलिखित स्क्रिप्ट को केवल क्रॉस्टैब में जोड़ा:

#!/bin/sh
# script to unidle heroku installation for the use with cronjob
# usage in crontab:
# */5 11-15 * * 1-5 /usr/local/bin/uptimer.sh http://www.example.com
# The command /usr/local/bin/uptimer.sh http://www.example.com will execute every 5th minute of 11am through 3pm Mondays through Fridays in every month.
# resources: http://www.cronchecker.net
echo url to unidle: $1
echo [UPTIMER]: waking up at:
date
curl $1
echo [UPTIMER]: awake at:
date

तो किसी भी ऐप के लिए बस अपने कॉन्टैब में एक और लाइन छोड़ें जैसे:

*/5 11-15 * * 1-5 /usr/local/bin/uptimer.sh http://www.example.com

1

मुझे लगता है कि इसमें सबसे आसान फिक्स हर 30 मिनट में खुद का सर्वर पिंग करना है। यहाँ कोड मैं अपने नोड में उपयोग कर रहा हूँ .js परियोजना को रोकने के लिए सो रही है।

const request = require('request');
const ping = () => request('https://<my-app-name>.herokuapp.com/', (error, response, body) => {
    console.log('error:', error); // Print the error if one occurred
    console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
    console.log('body:', body); // Print body of response received
});
setInterval(ping, 20*60*1000); // I have set to 20 mins interval

1

एक और काम कर समाधान: wokeDyno यहाँ एक ब्लॉग पोस्ट है कि यह कैसे काम करता है: यह बहुत आसान अनुप्रयोग में एकीकृत है:

/* Example: as used with an Express app */

const express = require("express")
const wakeDyno = require("woke-dyno");

// create an Express app
const app = express();

// start the server, then call wokeDyno(url).start()
app.listen(PORT, () => {
    wakeDyno(DYNO_URL).start(); // DYNO_URL should be the url of your Heroku app
});

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