Рубрики
Без рубрики

Как получить Cron, как планировщик в Python?

Резюме: Чтобы получить Cron, такой как планировщик в Python, вы можете использовать один из следующих способов: Использовать расписание ModuleUse Moduleuse Module Module Cron (также называемая работой CRON) – это программная утилита, которая помогает пользователю планировать задачи в UNIX система. Задачи в Cron присутствуют в текстовом файле … Как получить Cron, как планировщик в Python? Читать далее “

Автор оригинала: Shubham Sayon.

Резюме: Чтобы получить Cron, как планировщик в Python, вы можете использовать один из следующих способов:

  1. Использовать Расписание модуль
  2. Использовать Apscheduler
  3. Использовать Timeloop библиотека
  4. Использовать Crontab модуль

Cron (Также называется работой CRON) – это программная утилита, которая помогает пользователю планировать задачи в Unix-подобных системах. Задачи в Cron присутствуют в текстовом файле, который содержит команды, которые будут выполнены для запланированной задачи, чтобы работать. Название этого файла crontab. Чтобы узнать больше о планировщике кукурузы, вы можете обратиться к этому ссылка Отказ

В этой статье мы сосредоточимся на обсуждении того, как мы можем использовать Функции крон, как планировщик в Python, чтобы управлять запланированными заданиями. Поэтому без дальнейшей задержки, давайте перепрыгнем в нашу миссию – критический вопрос:

Проблема: Учитывая запланированную работу; Как установить Cron, как планировщик для работы с помощью Python?

Пример: Учитывая текстовый файл ( test.txt ) и сценарий Python ( test.py ). Как запланировать задачу в Python, чтобы сценарий Python может быть запущен по запланированным интервалам?

Сценарий Python выглядит следующим образом:

from datetime import datetime

myFile = open('test.txt', 'a')
myFile.write('\nAccessed on ' + str(datetime.now()))
myFile.close()

После выполнения определенной запланированной задачи в Python желаемый выход:

Теперь, когда у нас есть обзор нашего заявления о проблеме, давайте перепрыгнум в вероятные решения:

Метод 1: Использование API расписания

Расписание Является планировщиком в процессе, который предоставляет очень удобный синтаксис для планирования задач с помощью Python. Некоторые из его основных функций включают в себя:

  1. Совместим с Python 2.7, 3,5 и 3.6 Отказ
  2. Простой синтаксис и простой в использовании API.
  3. Легкий.
  4. Нет внешних зависимостей.

С Расписание Не является частью стандартной библиотеки Python, вы должны установить его, используя следующую команду:

$ pip install schedule

Давайте посмотрим на следующую программу, чтобы увидеть, как мы можем использовать Расписание Модуль, чтобы расписание задач:

import schedule
import time
from os import system


def job():
    system('python test.py')


# schedule the job to run at intervals of 1 min
schedule.every(1).minutes.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

Выход

Способ 2: Использование расширенного планировщика Python

Расширенный планировщик Python (APSCHEDULER) – это легкий и мощный планировщик задач, который помогает нам запускать рутинные задания. Ключевые особенности apscheduler:

  1. Не включает внешние зависимости.
  2. Доступно и проверено на CPYthon 2.5 – 2.7, 3.2 – 3.3, Jython 2.5.3, Pypy 2.2
  3. Несколько, одновременно активных рабочих магазинов – RAM, простая база базы данных, SQLalchemy, MongoDB, Redis.
  4. Безопасная потока API

Он обеспечивает три основных настраиваемых механизма:

  • Понравившийся
  • Задержка планирования односпальных заданий (например, Unix «AT» Command)
  • Интервал (запустить задание в указанные интервалы времени)

Чтобы иметь возможность использовать APSCHeduler, модуль APSCHEDULER должен быть установлен, поскольку он не является частью обычной библиотеки Python. Используйте следующую команду для установки его:

$ pip install apscheduler

Следующая программа демонстрирует, как мы можем использовать APSCheduler для запуска Cron, как рабочие места в Python (пожалуйста, следуйте комментариям в коде, приведенном ниже, чтобы получить лучшее сцепление на концепцию):

import time
import os

from apscheduler.schedulers.background import BackgroundScheduler


def job():
    os.system('python test.py')


if __name__ == '__main__':
    # creating the BackgroundScheduler object
    scheduler = BackgroundScheduler()
    # setting the scheduled task
    scheduler.add_job(job, 'interval', minutes=1)
    # starting the scheduled task using the scheduler object
    scheduler.start()

    try:
        # To simulate application activity (which keeps the main thread alive).
        while True:
            time.sleep(1)
    except (KeyboardInterrupt, SystemExit):
        # Not strictly necessary but recommended
        scheduler.shutdown()

Выход

Способ 3: Использование библиотеки TimeLoop

Еще один способ выполнения запланированных задач – библиотека Timeloop. Если вы ищете что-то простое, что может быть реализовано в вашей сети или автономной приложении, то Timeloop может быть хорошим выбором. Однако, если вы намереваетесь работать со сложными операциями, эта библиотека не рекомендуется.

Используйте следующую команду для установки Timeloop библиотека.

$ pip install timeloop

Давайте посмотрим на следующий код, чтобы понять, как Timeloop работает:

from os import system
import time
from timeloop import Timeloop
from datetime import timedelta

tl = Timeloop()


@tl.job(interval=timedelta(seconds=10))
def train_model():
    system('python test.py')


tl.start()

while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        tl.stop()
        break

Выход

Метод 4: Использование модуля Crontab

Crontab Модуль использует прямое API для чтения и записи файлов Crontab и автоматически обращаться к системе CRON. Crontab не является частью стандартной библиотеки Python и должна быть установлена вручную, используя Пип команда.

Следующий синтаксис можно использовать для установки модуля Crontab в вашей системе:

$ pip install python-crontab

Давайте понять, как модуль Crontab работает в пошаговом подходе:

Шаг 1 : Получение доступа к Crontab

Есть пять способов доступа к Crontab с помощью модуля CRON в Python. Среди них три метода работают в средах на основе UNIX, и требуют необходимых разрешений, в то время как оставшиеся два метода будут работать в Windows.

Методы конкретных UNIX:

  1. Cron ()
  2. cron (user = true)
  3. cron (user = ‘username’)

Две другие способы, которые работают для Windows, а также:

  1. file_cron (tabfile = ‘filename.tab’)
  2. mem_cron (Tab = “” “* * * * * * Команда” “”)

Шаг 2: Создание новой работы

Создание новой работы очень прост и может быть дона, используя следующую команду:

job  = cron.new(command='/usr/bin/echo')

Шаг 3: Установка определенных ограничений

Crontab Модуль предоставляет нам возможность установить временные ограничения на задания, не используя синтаксис Cron.

Ограничения заданий могут быть установлены с использованием следующих команд:

# to run the job every minute
job.minute.every(1)
# to schedule hourly jobs
job.hour.every(4)
# to run jobs on certain days of week
job.dow.on('SUN', 'THU')
# to schedule tasks/jobs on specific months
job.month.during('APR', 'NOV')

Каждое ограничение очистит предыдущее ограничение. Если вы хотите очистить все ограничения заданий, вы можете использовать команду:

job.clear()

Теперь давайте посмотрим на разные варианты, которые мы можем использовать в Crontab Модуль ( Пожалуйста, следуйте за комментариями для понимания значимости каждой команды) :

# enable a job:
job.enable()
# disable a job:
job.enable(False)
# to check if a task is enabled or disabled:
job.is_enabled()
# Chek whether a task is valid or not
job.is_valid()
# List all available cron jobs
for job in cron:
    print job
# Finding a cron job
cron.find_command("command") # Find according to command
cron.find_comment("comment") # Find according to comment
cron.find_time(time schedule) # Find according to time
# Removing a Job
cron.remove(job)
# Defining Environmental Variables
job.env['VARIABLE_NAME'] = 'Value'

Теперь, когда у нас есть обзор Crontab Модуль и его функциональные возможности, давайте посмотрим на следующий код, чтобы понять, как он работает:

from crontab import CronTab

cron = CronTab(user='finxter')

job = cron.new(command='python test.py')
job.minute.every(1)
cron.write()

Заключение

Таким образом, в этой статье мы изучили различные методы, которые можно использовать, чтобы получить, как Cron, такой как планировщик в Python. Это были:

  1. Использование расписание
  2. Использование Apscheduler
  3. Использование петля времени
  4. Использование Crontab модуль

Я надеюсь, что вы узнали что-то из этой статьи, и это поможет вам в вашем путешествии по кодированию. Пожалуйста, оставайтесь настроенными для более интересных статей!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.

Вы можете связаться со мной @: