2012-06-25 7 views
13

मैं एक हबॉट घड़ी-आधारित नोटिफ़ायर बनाने के बारे में सोच रहा हूं (सोचो "यह 5 है, घर जाने का समय!" लेकिन कम परेशान और एक अलग कारण के लिए)। हबॉट स्क्रिप्ट में ऐसा कुछ करने के बारे में जाने का सबसे अच्छा तरीका क्या है?एक निश्चित समय पर बात करने के लिए Hubot प्राप्त करें?

[संपादित] यहां नोड क्रॉन का उपयोग कर एक उदाहरण है:

TIMEZONE = "America/New_York" 
QUITTING_TIME = '0 0 17 * * 2-6' # M-F 5pm 
ROOM = "Dev" 

cronJob = require('cron').CronJob 

module.exports = (robot) -> 
     gohome = new cronJob QUITTING_TIME, 
       -> 
         robot.messageRoom ROOM, "It's 5! Go home!" 
       null 
       true 
       TIMEZONE 

निर्भरता:

"cron": "0.3.3", 
"time": "0.8.2" 
+3

"यह 5 बजे है, मार्जरीटा मशीन खींचें!" –

+0

क्या यह कोड क्रोबजोब स्वचालित रूप से चलाता है जब हबॉट लॉन्च होता है? – Hlung

+0

@ ह्लंग हां, जब स्क्रिप्ट लोड हो जाती है। – wrtsprt

उत्तर

8

मैं नोड क्रॉन का प्रयोग करेंगे। यह बहुत लचीला है और आपके उपयोग के मामले को अच्छी तरह फिट करता है।

https://github.com/ncb000gt/node-cron

+0

ऐसा लगता है कि यह मदद करेगा। मैं एक नजर मार लूगां। – NickAldwin

+1

यह वास्तव में अच्छी तरह से काम करता है। बहुत बहुत धन्यवाद! – NickAldwin

+0

क्या आपको यह काम मिल गया? क्या आप नमूना प्रदान कर सकते हैं? धन्यवाद! –

6

मैं सिर्फ hubot-cron पर ठोकर खाई।

इससे आपको संदेशों को हबोट में शेड्यूल करने देता है, लेकिन दुर्भाग्यवश पुन: प्रारंभ के माध्यम से नौकरियां जारी नहीं रखती हैं।

+5

से ऊपर मेरा संपादन देखें हाय, मैंने हबोट-क्रॉन लिखा था। यह 'robot.brain' में आपकी नौकरियों को बचाता है जिसका अर्थ यह है कि जब तक आप रेडिस जैसे लगातार डेटा स्टोर का उपयोग करते हैं, तब तक यह पुनरारंभ के माध्यम से डेटा को जारी रखता है। – miyagawa

संबंधित मुद्दे