ম্যাজেন্টো ক্রোন কাজের জন্য কোন টাইমজোন চলছে?


11

আমার সিস্টেমের টাইমজোন মার্কিন / পূর্ব , আমার ডিফল্ট স্টোর মার্কিন / কেন্দ্রীয় এবং ডাটাবেসটি ইউটিসি । নিম্নলিখিত doStuffপদ্ধতিটি কখন ডাকা হবে?

<mymodule_do_stuff>
    <schedule><cron_expr>15 0 * * *</cron_expr></schedule>
    <run>
        <model>mymodule/observer::doStuff</model>
    </run>
</mymodule_do_stuff>

আপডেট: আমি এই স্ক্রিপ্টটি চালিয়েছি।

echo date('r'), PHP_EOL;
require_once 'app/Mage.php';
Mage::app();

echo date('r'), PHP_EOL;

এবং পেয়েছিলাম

Mon, 30 Dec 2013 18:01:33 -0600
Tue, 31 Dec 2013 00:01:34 +0000

সুতরাং দেখে মনে হচ্ছে ইউটিসি আমার ব্যবহার করা উচিত।


ডাটাবেসে ইউটিসি হিসাবে সঞ্চিত তারিখ / সময় সহ আপনার টাইম জোনের জন্য আপনার কনফিগার সেটিংস
ফায়াস্কো ল্যাবগুলি

উত্তর:


9

ব্যবহৃত ডিফল্ট সময়টি লিনাক্সের সিস্টেম সময় হবে। dateএটি কী সেট করা আছে তা জানতে কমান্ড লাইনে ফাংশনটি ব্যবহার করুন ।

ম্যাগেন্টো 'ওভাররাইটস' যেটি localeআপনি দোকানটি ইনস্টলের সময় নির্দিষ্ট করে যা কিছু সেট করে by এটি System > Configuration > Generalপ্রতি স্টোর বা ডিফল্ট স্কোপে নির্দিষ্ট করা আছে ।


আমি এটা ঠিক মনে করি না। Magento কল date_default_timezone_set('UTC')মধ্যে Mage::isInstalled()যা cron.php মধ্যে বলা হয়। কোথায় localeডিফল্ট স্টোর সেট?
নাচিটো

3
ডিফল্টরূপে এটি ইউটিসি তবে যতদূর আমি জানি, কোনও স্টোর আরম্ভ করার সময় একই সাথে ডিফল্ট সুযোগও, সিস্ট / কনফিগারেশনে লোকাল সেট ব্যবহার করে। দয়া করে আমাকে সংশোধন করুন যদিও আমি ভুল তবে এমনকি স্কোপ 0 0 সংজ্ঞায়িত লোকেল সেটিংস ব্যবহার করে
স্যান্ডার ম্যানগেল

হ্যাঁ, এটি এম 2 এর জন্য সঠিক - আপনি যদি module-cron/Model/Schedule.phpবিশেষভাবে trySchedule()পদ্ধতির অধীনে তাকান তবে আপনি দেখতে পাবেন কনফিগারেশনে ইউটিসি থেকে টাইমজোন সেট রূপান্তরটি কোথায় ঘটে (একটি মন্তব্য সহ we assume that all schedules in configuration (crontab.xml and DB tables) are in admin store timezone)
ফিল বার্নি

3

cron_scheduleসারণীতে সঞ্চিত সময়গুলি ইউটিসি-তে general/locale/timezoneথাকে তবে কোনও কাজ চালানো উচিত কিনা তা পরীক্ষা করার সময় ম্যাজেন্টো এটিকে আপনার স্টোরের কনফিগার করা টাইমজোন ( ) এ রূপান্তর করে ।

আপনার স্টোরের ক্রোন জবগুলি কখন চালিত হচ্ছে সে সম্পর্কে আরও ভাল ধারণা পেতে আমি অ্যয়ে_শেকুলার ইনস্টল করার পরামর্শ দিচ্ছি ।


1

ফাংশনে কোডটি দেখছেন:

Mage_Cron_Model_Observer::_generateJobs

নির্ধারিত সময় পিএইচপি ফাংশন সময় () এর উপর ভিত্তি করে, এটি পিএইচপি জন্য কনফিগার করা টাইমজোন ব্যবহার করে (আপনার নির্দিষ্ট কনফিগারেশনবটকে বোঝায়) আমি বলতে পারি যে এটি সিস্টেম টাইমজোন (মার্কিন / পূর্ব) এর মতোই কনফিগার করা হয়েছে।

ব্যবহৃত স্থান অঞ্চল অফসেটের জন্য কোনও গণনা আছে এমন কোনও জায়গা আমি খুঁজে পেলাম না।


আমি এটা ঠিক মনে করি না। আমার আপডেট দেখুন
nachito

0

ফাইলটি খুলুন Mage_Cron_Model_Observerএবং
$now = time();লাইনের ঠিক পরে বা তার আগে একটি Mage :: লগ () রাখুন

public function dispatch($observer)
    {
        $schedules = $this->getPendingSchedules();
        $scheduleLifetime = Mage::getStoreConfig(self::XML_PATH_SCHEDULE_LIFETIME) * 60;
        $now = time();
        Mage::log("cron timezone: " . date_default_timezone_get(), Zend_Log::DEBUG); // this will log the cron timezone into var/log/system.log file
        $jobsRoot = Mage::getConfig()->getNode('crontab/jobs');
        $defaultJobsRoot = Mage::getConfig()->getNode('default/crontab/jobs');
 . . . . .
}

তারপরে যদি আপনি যাচাই করেন তবে var/log/system.logসঠিকভাবে জানতে পারবেন ম্যাজেন্টো কোন সময় অঞ্চলটি ব্যবহার করেছে।


এবং তারপরে ক্রোন লগ টেবিল বা অন্য কোথাও সঞ্চিত কোনও তারিখ রূপান্তর করতে ইউটিসি অফসেট যুক্ত / বিয়োগ করুন।
ফায়াসকো ল্যাবগুলি

0

ডেটাবেসে ইউটিসি হিসাবে সঞ্চিত তারিখ / সময় সহ আপনার টাইমজোনটির জন্য তারা ম্যাজেন্টোতে আপনার স্থানীয় কনফিগার সেটিং প্রতি ট্রিগার করে।

ম্যাজেন্টো যে সিস্টেম টাইমজোনটি চালাচ্ছে তা ম্যাজেন্টোর কনফিগার সেটিংস থেকে পৃথক হতে পারে।

এই সব পর্যবেক্ষণ দ্বারা। আমার সার্ভার এমএসটি চালায়, ম্যাজেন্টো পিএসটি যার অর্থ বছরের এক বছরের জন্য, বাহ্যিক ক্রোন জবসরা ম্যাজেন্টোর ক্রোন জব থেকে ১ ঘন্টা বিভক্ত করে যার মধ্যে একজন ডিএসটি পর্যবেক্ষণ করে।

আপনি যদি নিশ্চিতকরণ চান তবে এওই শিডিউলার মডিউলটি ইনস্টল করুন এবং আপনি এটি মাউসওভার থেকে পড়তে পারেন। বর্তমানে এওই 16:30 পিএসটি দেখাচ্ছে যা 4:30 অপরাহ্ন পিএসটি।

Runtime: 2013-12-30   Server: 17:44:59 MST   Store: 16:44:59   Zulu: 00:44:59 UTC
Note: All logged times are UTC, your server timezone offset is -07:00 hours from UTC
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.