تحديد معرف الوظيفة من داخل كتلة التعليمات البرمجية لوظيفة كرون في جدولة روفوس (القضبان 3.2)
-
13-12-2019 - |
سؤال
عند إنشاء وظيفة كرون من خلال جدولة روفوس ، هل هناك طريقة ما ضمن كتلة التعليمات البرمجية لوظيفة كرون لتحديد معرف الوظيفة الخاص بـ كرون الوظيفة نفسها?
ما أريد القيام به هو شيء من هذا القبيل:
scheduler.cron '0 0 0 * * * Etc/GMT+0' do
# Nix existing jobs.
scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }
...
end
المشكلة هي self.job_id
.أي اقتراحات حول كيفية استرداد
معرف الوظيفة الحالي للكرون الذي يتم تشغيله حاليا?
أعلم أن هناك شيئا مثل "الخيوط المشغلة" ، والتي عادت وظائف قيد التشغيل حاليا.لكني أريد شيئا أكثر تحديدا:ال معرف الوظيفة من كتلة التعليمات البرمجية أنا حاليا في الداخل.
هل هذا ممكن?
المحلول
تمكنت من حل هذه المشكلة من خلال توفير المجدول.استدعاء طريقة كرون مع المعلمة الاختيارية التي حددت صراحة معرف الوظيفة الجديدة:
scheduler.cron '0 0 0 * * * Etc/GMT+0', {:job_id => explicit_job_id} do
# Nix existing jobs.
scheduler.cron_jobs.values.map { |j| if j.job_id != self.job_id then j.unschedule end }
...
end
أين explicit_job_id
هو بعض المتغيرات المحددة قبل المجدول.يتم استدعاء كرون.
لا تنتمي إلى StackOverflow