2015-09-14 6 views
5

तकनीकी रूप से मैं मशीन पर क्रॉन स्थापित कर सकता हूं और यूआरएल को घुमा सकता हूं, लेकिन मैं इससे बचने की कोशिश कर रहा हूं। इसे पूरा करने का कोई तरीका?प्ले 2.4.x में क्रोंटैब स्टाइल शेड्यूलिंग?

कारण मैं क्रॉन से बचना चाहता हूं इसलिए मैं आसानी से शेड्यूल बदल सकता हूं या ऐसा करने के लिए मशीन में बिना श्वास के पूरी तरह से इसे रोक सकता हूं।

उत्तर

5

यहां देखें: https://github.com/enragedginger/akka-quartz-scheduler। मान्य क्रोनएक्सप्रेस और उदाहरणों के लिए http://quartz-scheduler.org/api/2.1.7/org/quartz/CronExpression.html का संदर्भ लें।

एक उदाहरण डॉक्स से लिया:

एक उदाहरण अनुसूची जो, जिसे उपयुक्त, आग बंद हर 30 सेकंड बुलाया हर-30 सेकंड:

akka { 
    quartz { 
    schedules { 
     Every30Seconds { 
     description = "A cron job that fires off every 30 seconds" 
     expression = "*/30 * * ? * *" 
     calendar = "OnlyBusinessHours" 
     } 
    } 
    } 
} 

आपको अपनी Play में इस एकीकृत कर सकते हैं! आवेदन (शायद अपने वैश्विक आवेदन में)

+0

हाँ मैं उस पर भी देख रहा था। मैंने सोचा था कि ऐसा कुछ ऐसा था जिसे मैं काम करने के लिए बनाया गया था, मुझे याद है कि यह "जॉब" वर्ग था जिसे हटा दिया गया था ... – iCodeLikeImDrunk

+0

http://stackoverflow.com/questions/9339714/where-is-the -job-support-in-play-2-0 – nafg

3

आप अकाका शेड्यूलर का उपयोग कर सकते हैं।

val scheduler = Akka.system(app).scheduler 
scheduler.schedule(0 seconds, 1 hour) { 
    // run this block every hour 
} 

पहले पैरामीटर विलंब हुआ है, इसलिए यदि आप एक विशिष्ट समय में देरी करना चाहता था आप आसानी से कुछ सरल तारीख गणित के साथ लक्ष्य समय की गणना कर सकता है।

+0

अनुसूचक मुझे पता है, im अधिक कुछ है कि मुझे "40 06 की तरह कुछ चलाने के लिए अनुमति देता है की तलाश में * * 1-5 " – iCodeLikeImDrunk

+0

https://github.com/enragedginger/akka-quartz-scheduler से:" अक्का का डिफ़ॉल्ट शेड्यूलर भी हैशहेलटेलर के आसपास निष्पादित किया जाता है - नौकरियों के लिए संभावित सटीक हानि, क्योंकि यह मजबूत गारंटी प्रदान नहीं करता है निष्पादन की समयबद्धता। " – nafg

2

बाहर चेक https://github.com/philcali/cronish

README.md से कुछ उदाहरण कोड:

val payroll = task { 
    println("You have just been paid... Finally!") 
} 

// Yes... that's how you run it 
payroll executes "every last Friday in every month" 

val greetings = job (println("Hello there")) describedAs "General Greetings" 

// give a delayed start 
val delayed = greetings runs "every day at 7:30" in 5.seconds 

// give an exact time to start 
val exact = greetings runs "every day at noon" starting now + 1.week 

// resets a job to its definition 
val reseted = exact.reset() 

reseted starting now + 1.day 
+0

जो उपयोग करने में इतना आसान लग रहा है! अभिनय किया! – iCodeLikeImDrunk

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