คำถามติดแท็ก scheduled-tasks

งานตามกำหนดการคืองานคอมพิวเตอร์ที่กำหนดให้เกิดขึ้นในช่วงเวลาหนึ่งและอาจทำซ้ำ

5
การจัดกำหนดการงานที่เกิดขึ้นประจำใน Android
ฉันกำลังออกแบบแอปที่มีงานประจำในการส่งสถานะไปยังเซิร์ฟเวอร์เฉพาะตราบเท่าที่แอปนั้นอยู่เบื้องหน้า ในการค้นหาของฉันบนเว็บฉันเห็นแนวทางที่แตกต่างกันเล็กน้อยและต้องการทราบว่าวิธีใดดีที่สุดในการทำเช่นนี้ วิธีที่ดีที่สุดในการกำหนดเวลาการโทรจากเซิร์ฟเวอร์คืออะไร? ตัวเลือกที่ฉันเห็นคือ: เครื่องจับเวลา ScheduledThreadPoolExecutor บริการ . BroadcastReciever กับAlarmManager ความคิดเห็นของคุณคืออะไร? แก้ไข: เหตุผลที่ฉันต้องการสิ่งนี้สำหรับแอพที่ใช้แชทที่ส่งการกระทำทั้งหมดของผู้ใช้ไปยังเซิร์ฟเวอร์ระยะไกล เช่นผู้ใช้กำลังพิมพ์ข้อความผู้ใช้กำลังอ่านข้อความผู้ใช้ออนไลน์ผู้ใช้ออฟไลน์เป็นต้น ซึ่งหมายความว่าทุกครั้งที่ฉันต้องส่งเซิร์ฟเวอร์ว่าฉันกำลังทำอะไรอยู่เนื่องจากฉันเปิดห้องสนทนากับคนอื่นพวกเขาจำเป็นต้องรู้ว่าฉันกำลังทำอะไรอยู่ คล้ายกับกลไกการตอบกลับข้อความ whatsapp: แก้ไข # 2: ขณะนี้ควรกำหนดเวลางานที่เกิดซ้ำเกือบตลอดเวลาผ่านJobSchedulerAPI (หรือFirebaseJobDispatcherสำหรับ API ที่ต่ำกว่า) เพื่อป้องกันปัญหาการระบายแบตเตอรี่โดยสามารถอ่านได้ในส่วน Vitalsของการฝึกอบรม Android แก้ไข # 3: FirebaseJobDispatcher เลิกใช้งานแล้วและแทนที่ด้วยWorkmanagerซึ่งรวมคุณสมบัติของ JobScheduler ไว้ด้วย

7
ScheduleAtFixedRate เทียบกับ scheduleWithFixedDelay
อะไรคือความแตกต่างที่สำคัญระหว่างscheduleAtFixedRateและscheduleWithFixedDelayวิธีการของScheduledExecutorService ? scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { System.out.println("scheduleAtFixedRate: " + new Date()); } }, 1, 3L , SECONDS); scheduler.scheduleWithFixedDelay(new Runnable() { @Override public void run() { System.out.println("scheduleWithFixedDelay: " + new Date()); } }, 1, 3L , SECONDS); พวกเขาพิมพ์ในเวลาเดียวกันอย่างแน่นอนดูเหมือนว่าจะถูกดำเนินการในช่วงเวลาเดียวกัน


7
ฉันจะทริกเกอร์งานตามกำหนดการของ Kubernetes ด้วยตนเองได้อย่างไร
ฉันได้สร้างงานตามกำหนดการของ Kubernetesซึ่งทำงานวันละสองครั้งตามกำหนดเวลา อย่างไรก็ตามฉันต้องการเรียกใช้ด้วยตนเองเพื่อวัตถุประสงค์ในการทดสอบ ฉันจะทำเช่นนี้ได้อย่างไร?

13
วิธีแปลงงาน Linux cron เป็น "วิธีของ Amazon"
เพื่อให้ดีขึ้นหรือแย่ลงเราได้ย้ายเว็บแอปพลิเคชันLAMPทั้งหมดจากเครื่องเฉพาะไปยังระบบคลาวด์ (เครื่อง Amazon EC2) มันไปได้ดีมาก แต่วิธีที่เราทำcronsนั้นไม่เหมาะสม ฉันมีคำถามเฉพาะของ Amazon เกี่ยวกับวิธีจัดการงาน cron ในระบบคลาวด์ให้ดีที่สุดโดยใช้ "วิธีของ Amazon" ปัญหา : เรามีเว็บเซิร์ฟเวอร์หลายเว็บและจำเป็นต้องเรียกใช้ crons สำหรับงานแบตช์เช่นการสร้าง RSS feeds การเรียกใช้อีเมลสิ่งต่างๆมากมาย แต่งาน cron จำเป็นต้องทำงานบนเครื่องเดียวเท่านั้นเพราะมักจะเขียนลงในฐานข้อมูลดังนั้นผลลัพธ์จะซ้ำกันหากทำงานบนหลายเครื่อง จนถึงตอนนี้เรากำหนดให้เว็บเซิร์ฟเวอร์แห่งหนึ่งเป็น "เว็บเซิร์ฟเวอร์หลัก" และมีงาน "พิเศษ" บางอย่างที่เว็บเซิร์ฟเวอร์อื่น ๆ ไม่มี การแลกเปลี่ยนสำหรับคลาวด์คอมพิวติ้งคือความน่าเชื่อถือ - เราไม่ต้องการ "เว็บเซิร์ฟเวอร์หลัก" เพราะมันเป็นจุดเดียวของความล้มเหลว เราต้องการให้พวกเขาทั้งหมดเหมือนกันและเพื่อให้สามารถขยายและลดขนาดได้โดยไม่ต้องจำว่าอย่านำเว็บเซิร์ฟเวอร์หลักออกจากคลัสเตอร์ เราจะออกแบบแอปพลิเคชันของเราใหม่เพื่อแปลงงาน Linux cron เป็นรายการงานชั่วคราวที่ไม่มีจุดล้มเหลวได้อย่างไร ความคิดของฉันจนถึงตอนนี้: มีเครื่องสำหรับทำงานเฉพาะ crons เท่านั้น สิ่งนี้จะสามารถจัดการได้มากกว่าเล็กน้อย แต่ก็ยังคงเป็นจุดเดียวของความล้มเหลวและจะเสียเงินไปกับการเพิ่มอินสแตนซ์เพิ่มเติม งานบางอย่างสามารถย้ายจาก Linux crons …

2
ข้อดีข้อเสียในการใช้คื่นฉ่ายเทียบกับ RQ [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ตอนนี้ฉันกำลังทำงานในโครงการ python ที่ต้องใช้งานเบื้องหลังบางอย่าง (ส่วนใหญ่เป็นการส่งอีเมลและการอัปเดตฐานข้อมูลจำนวนมาก) ฉันใช้ Redis สำหรับนายหน้างาน ดังนั้นในจุดนี้ผมมีสองผู้สมัคร: คื่นฉ่ายและRQ ฉันมีประสบการณ์เกี่ยวกับคิวงานเหล่านี้มาบ้าง แต่ฉันอยากขอให้พวกคุณแบ่งปันประสบการณ์การใช้เครื่องมือนี้ ดังนั้น. ข้อดีข้อเสียในการใช้ Celery กับ RQ คืออะไร ตัวอย่างของโครงการ / งานที่เหมาะสมในการใช้ขึ้นฉ่ายเทียบกับ RQ คื่นฉ่ายดูค่อนข้างซับซ้อน แต่เป็นโซลูชันที่มีคุณสมบัติครบถ้วน อันที่จริงฉันไม่คิดว่าฉันต้องการคุณสมบัติทั้งหมดนี้ จากด้านอื่น ๆ RQ นั้นง่ายมาก (เช่นการกำหนดค่าการรวม) แต่ดูเหมือนว่าจะขาดคุณสมบัติที่มีประโยชน์บางอย่าง (เช่นการเพิกถอนงานการโหลดโค้ดอัตโนมัติ)

9
ฉันจะจับเอาต์พุตของสคริปต์ได้อย่างไรหากถูกรันโดยตัวกำหนดตารางเวลางาน
เมื่อใช้ Windows Server 2008 ฉันจะจับเอาต์พุตของสคริปต์ที่รันด้วยตัวกำหนดตารางเวลางาน windows ได้อย่างไร ฉันกำลังทดสอบชุดสคริปต์การพิมพ์แบบกำหนดเองที่ค่อนข้างยาวและเพื่อวัตถุประสงค์ในการดีบักฉันต้องการดูผลลัพธ์ทั้งหมดจากมันทุกคืน

14
จะตรวจสอบได้อย่างไรว่าบริการกำลังทำงานผ่านไฟล์แบตช์และเริ่มทำงานหากไม่ได้ทำงาน
ฉันต้องการเขียนแบตช์ไฟล์ที่ดำเนินการดังต่อไปนี้: ตรวจสอบว่าบริการกำลังทำงานอยู่หรือไม่ หากกำลังทำงานอยู่ให้ออกจากชุดงาน หากยังไม่ทำงานให้เริ่มบริการ ตัวอย่างโค้ดที่ฉัน googled จนถึงขณะนี้ใช้งานไม่ได้ดังนั้นฉันจึงตัดสินใจที่จะไม่โพสต์ การเริ่มต้นบริการทำได้โดย: net start "SERVICENAME" ฉันจะตรวจสอบได้อย่างไรว่าบริการกำลังทำงานอยู่และจะสร้างคำสั่ง if ใน batchfile ได้อย่างไร ฉันสับสนนิดหน่อย อะไรคือข้อโต้แย้งที่ฉันต้องส่งต่อไปยัง net start? ชื่อบริการหรือชื่อที่แสดง?

10
ฉันจะกำหนดเวลาให้บริการ C # Windows ทำงานทุกวันได้อย่างไร
ฉันมีบริการที่เขียนด้วยภาษา C # (.NET 1.1) และต้องการให้ดำเนินการล้างข้อมูลตอนเที่ยงคืนของทุกคืน ฉันต้องเก็บรหัสทั้งหมดไว้ในบริการดังนั้นวิธีที่ง่ายที่สุดในการทำสิ่งนี้คืออะไร? ใช้Thread.Sleep()และตรวจสอบเวลาที่หมุนไปหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.