سؤال

أنا أبحث عن طريقة فعالة لتنفيذ طريقة كل يوم في الساعة 3 مساءً بغض النظر عن وقت تشغيل التطبيق في البداية أو مدة تشغيله.

يجب أن يتم ذلك بالكامل من التطبيق دون أي تدخل من نظام التشغيل (على سبيل المثال.جدولة مهام ويندوز)

لقد قمت بتجربة java.util.Timer بتكوينات مختلفة ولكن لم أحقق أي نجاح.

سيكون موضع تقدير أي مساعدة.

شكرًا.

هل كانت مفيدة؟

المحلول

ويجب أن نلقي نظرة على الكوارتز وهو نظام جدولة الوظائف مقرها في جاوة.

نصائح أخرى

وأنت ربما تريد استخدام شيء مثل الكوارتز محرك في هذا الشأن يمكن أن تفعل أشياء مثل تنفيذ المهام أن غاب (مثل خلال مهم العطل) ويستغرق العمل بها في محاولة لإدارة المواضيع.

وعلى سبيل المثال إذا كنت تستخدم المواضيع وضعه للنوم والاستيقاظ ليصل 86400 ثانية (يوم واحد) في وقت لاحق سوف يستيقظ وساعة متأخرة (يوم = 82800 ثانية) أو في وقت مبكر (يوم = 90000 ثانية) على DST تتغير مع مرور اليوم، لذا كن حذرا مع أي حل اخترت

طريقة JDK المضمنة هي القيام بما اقترحه الآخرون وحسابه أولاً:

  • الوقت الحالي - الوقت المطلوب

ثم يمكنك استخدام شيء مثل منفذ الجدول الزمني لتقديم المهام، وتشغيلها مع تأخير معين.هذا أبسط بكثير من الخيارات المتاحة لك مع أطر مثل كوارتز, ، ولكن لا يتطلب تبعية خارجية.

أيضًا، يجب عليك دائمًا إدراج JDK الذي تستخدمه، حتى يتمكن الأشخاص من تقديم حلول لإصدار JDK الخاص بك.

ويمكنك بدء موضوع يحسب فرق في 3:00 المقبل، وينام في ذلك الوقت. عندما يستيقظ أنه يقوم بتنفيذ الأسلوب ويعيد حساب وينام. هل هذا ما كنت تعني؟

وكما ذكر من قبل الآخرين الكوارتز هو خيار، مع أنه يمكنك القيام به مثل كرون العمليات والوظائف أو المشغلات، وهنا هو وجود صلة حول هذا الموضوع: <لأ href = "http://www.ibm.com/developerworks /java/library/j-quartz/index.html "يختلط =" نوفولو noreferrer "> http://www.ibm.com/developerworks/java/library/j-quartz/index.html

Jcrontab

<اقتباس فقرة>   

وJcrontab هو جدولة مكتوب بلغة جافا. ويهدف المشروع إلى توفير جداول وظيفية بالكامل لمشاريع جافا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top