أحتاج إلى القدرة على تنفيذ مهام مخصصة على منتدى Discourse. هل توجد طريقة لتحميل مهام rake المعرفة في إضافة ما بحيث يمكن استخدامها في بيئة الإنتاج؟
أعتقد أن هذا يجب أن يعمل. فقط ضعها في نفس المجلد في الإضافة حيث توجد في النواة.
لقد قمت بذلك في الماضي بإنشاء مهمة Rake تعمل بعد مهمة أخرى، لكنني لم أنشئ مهمة مستقلة.
نعم، هذا يعمل. لم يكن يبدو أنه يعمل بالنسبة لي في البداية، لذلك سألت عن السؤال، لكنني جربت ذلك مرة أخرى وعمل من المحاولة الأولى.
لقد أضفت مهمة الـ rake الخاصة بي في lib/tasks في ملحقي. اعتقدت أنني سأؤكد أن هذا يعمل لأي شخص آخر يعثر على هذا.
هل واجه أي شخص تنفيذ مهام rake في lib/tasks مرتين؟ يبدو أن مهامنا تُنفَّذ مرتين عند تشغيل rake subscriptions:procourse_convert.
مرحبًا @kimardenmiller، هل عثرتِ على إجابة لسبب تنفيذ مهمة الـ rake مرتين؟
أعتقد أن الأمر قد يكون متعلقًا بإعلان نفس الدالة في مكانين، مما قد يكون سبب تشغيلها مرتين. لم يتم التأكد من ذلك، لكن تحقق من ذلك.
تحرير: أعتقد أنني اكتشفت كيف يحدث هذا.
إنه لا يتبع الاتفاقية حقًا، أو ربما يتبعها كثيرًا.
المشكلة هي إذا قمت بالإشارة إلى ملف rake في plugin.rb يبدو أنه يتم تشغيله مرتين، ولكن مهمة rake مدرجة حتى لو لم تقم بالإشارة إليها، لذلك لا حاجة لتحميلها أثناء التهيئة.
على حد علمي، لا يوجد أي منطق خاص بـ discourse هنا. تخميني هو أنه يتم تحميل ملفات المهام تلقائيًا إذا قمت بتعريف ::Rails::Engine للمكون الإضافي الخاص بك؟