কীভাবে রেক টাস্ক চালানো যায় তা রেল


98

টার্মিনাল / কনসোলে এই রেক ফাইলটি কীভাবে চালাব?

আমার স্ট্যাটাসটিক.রেকে লিব / টাস্কে

desc "Importer statistikker"
namespace :reklamer do
  task :iqmedier => :environment do
    ...
  end
  task :euroads => :environment do
    ...
  end
  task :mikkelsen => :environment do
    ...
  end
  task :orville => :environment do
    ...
  end
end

উত্তর:


134

আপনি চালিয়ে আপনার শেল থেকে রাক কাজগুলি চালাতে পারেন:

rake task_name

রুবি থেকে চালনা (যেমন, রেলস কনসোল বা অন্য কোনও রেক টাস্কে):

Rake::Task['task_name'].invoke

একক টাস্কের সাথে একই নেমস্পেসে একাধিক টাস্ক চালানোর জন্য, আপনার নেমস্পেসে নিম্নলিখিত নতুন কার্যটি তৈরি করুন:

task :runall => [:iqmedier, :euroads, :mikkelsen, :orville] do
  # This will run after all those tasks have run
end

4
আমি কীভাবে এক সাথে সমস্ত কাজ করব?
রেলগুলি

4
আপনি যদি সমস্ত কাজ একবারে চালাতে চান তবে টাস্কটি তৈরি করুন: all => [: a,: b,: c] এবং তারপরে রেক রেলেমার চালান: সমস্ত
স্পাইক গ্রোনিম

4
এটি আপনার প্রশ্নের অংশ ছিল না, তবে আপনাকে একটি নতুন কাজ করতে হবে যা তাদের প্রত্যেককে কল করে, যার জন্য সংক্ষিপ্তকরণ রয়েছে is আমার আপডেট হওয়া উত্তরটি দেখুন।
অ্যান্ড্রু মার্শাল

4
অ্যান্ড্রু মার্শাল, বিটিডব্লিউ, আপনি task :runall => Rake::Task.tasksযদি সমস্ত কাজ পরিচালনা করতে চান তবে আপনি ব্যবহার করতে পারেন । তবে এই লাইনটি সমস্ত কাজের পরে ঘোষণা করতে হবে।
ভাসিলি এরমোলোভিচ

কাজটি কোথায় করা উচিত: রানাল => কোথায় যাওয়া উচিত?
কারাগারের প্রারম্ভিক

25
Rake::Task['reklamer:orville'].invoke

বা

Rake::Task['reklamer:orville'].invoke(args)

এই পদ্ধতির কাজ করবে, তবে রাকস কর্মগুলি বান্ডিল করার "সঠিক" উপায়টির উত্তর @ অ্যান্ড্রু-মার্শাল দিয়েছিল।
টম হ্যারিসন

4
আপনি যদি "" সঠিক "উপায় ... 'এর মতো কিছু বলতে যাচ্ছেন তবে দয়া করে রেফারেন্স সরবরাহ করুন। আমার উত্তরটি মূল প্রশ্নের প্রতিক্রিয়া ছিল।
লুক ডাব্লু

4
একটি তাত্ত্বিক পরীক্ষা হিসাবে, আমি দৌড়ানোর চেষ্টা করেছি Rake::Task['db:seed'].invokeকিন্তু এটি চালায় না, বলে "টাস্ক কীভাবে তৈরি করতে হয় তা জানেন না 'ডিবি: বীজ'"
লুলালালা

22

আপনি চেষ্টা করেছেন? rake reklamer:iqmedier ?

আমার কাস্টম রেক টাস্কগুলি lib ডিরেক্টরিতে রয়েছে, lib / কার্যগুলিতে নয়। বিষয়টি নিশ্চিত কিনা তা নিশ্চিত নয়।


4
আমি সমস্ত কাজ একসাথে চালাতে চাই
রেলস শিগগির

14

কখনও কখনও আপনার রাক টাস্কগুলি কনসোলে লোড হয় না, সেক্ষেত্রে আপনি নিম্নলিখিত আদেশগুলি চেষ্টা করতে পারেন

require "rake"
YourApp::Application.load_tasks
Rake::Task["Namespace:task"].invoke

এই উদ্ধৃতিগুলি খারাপ তবে আমি এগুলি সম্পাদনা করতে পারছি না কারণ এটি সম্পাদনা খুব ছোট!
20:58

যদিও এটি জিজ্ঞাসিত প্রশ্নের সত্যিকারের উত্তর নয়। এটিই আমি নিজের সমস্যাটি অনুসন্ধান করেছি এবং সমাধান করেছি (আপনার অ্যাপ্লিকেশন :: অ্যাপ্লিকেশন.লোড_টাস্কস)। ধন্যবাদ!
ডেনিস ভ্যান ডি হোয়েফ

4

যদি আপনি কীভাবে রেক টাস্কটি চালাবেন তা নিশ্চিত না হন তবে প্রথমে আপনার কোন কাজগুলি রয়েছে তা খুঁজে বের করুন এবং এটি টাস্কগুলি চালানোর জন্য আদেশগুলিও তালিকাভুক্ত করবে।

rake --tasksটার্মিনালে চালান ।

এটি নিম্নলিখিতগুলির মতো কাজগুলি তালিকাবদ্ধ করবে:

rake gobble:dev:prime             
rake gobble:dev:reset_number_of_kits                                    
rake gobble:dev:scrub_prod_data

তারপরে আপনি আপনার টাস্কটি চালাতে পারবেন: rake gobble:dev:primeতালিকাভুক্ত হিসাবে।


1

রেলগুলিতে 4.2 উপরের পদ্ধতিগুলি কার্যকর হয়নি।

  1. টার্মিনালে যান।
  2. ডিরেক্টরিটি যেখানে আপনার রেক ফাইল উপস্থিত রয়েছে সেখানে স্থান পরিবর্তন করুন।
  3. রেক টাস্ক_নাম চালান।
  4. উপরের ক্ষেত্রে, রেক আইকিমিডিয়ার চালান - কেবল আইকমিডির টাস্কটি চালাবে।
  5. রেক ইউরোডস চালান - শুধুমাত্র ইউরোড টাস্ক চালাবে।
  6. এই ফাইলের সমস্ত কাজ চালনার জন্য একই ফাইলের মধ্যে নিম্নলিখিতটি নির্ধারণ করুন এবং সমস্ত রেক চালান

    task :all => [:iqmedier, :euroads, :mikkelsen, :orville ] do #This will print all the tasks o/p on the screen 
    end
    
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.