← Назад к вопросам
Какой инструмент можно использовать в Azure, чтобы поставить CRON?
1.7 Middle🔥 111 комментариев
#Облачные платформы
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Какой инструмент можно использовать в Azure, чтобы поставить CRON
В Azure есть несколько инструментов для планирования (CRON).
1. Azure Logic Apps (основной)
Самый простой и управляемый способ:
{
"definition": {
"triggers": {
"Recurrence": {
"type": "Recurrence",
"recurrence": {
"frequency": "Hour",
"interval": 1,
"schedule": {
"minutes": [0]
}
}
}
},
"actions": {
"Execute_Pipeline": {
"type": "ApiConnection",
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['azuredatafactory']['connectionId']"
}
},
"method": "post",
"path": "/subscriptions/@{encodeURIComponent(parameters('subscription'))}/resourcegroups/@{encodeURIComponent(parameters('resourceGroup'))}/providers/Microsoft.DataFactory/factories/@{encodeURIComponent(parameters('factoryName'))}/pipelines/@{encodeURIComponent(parameters('pipelineName'))}/createRun"
}
}
}
}
}
2. Azure Data Factory Triggers
Для автоматизации pipeline обработки данных:
{
"name": "DailyTrigger",
"properties": {
"type": "ScheduleTrigger",
"typeProperties": {
"recurrence": {
"frequency": "Day",
"interval": 1,
"startTime": "2024-01-01T10:00:00Z",
"endTime": "2025-12-31T23:59:59Z"
}
},
"pipelines": [
{
"pipelineReference": {
"referenceName": "DataProcessingPipeline",
"type": "PipelineReference"
}
}
]
}
}
3. Azure Automation Runbooks
Для PowerShell/Python скриптов:
# PowerShell Runbook
param(
[string]$ResourceGroup,
[string]$VMName
)
# Подключаемся к Azure
Connect-AzAccount -Identity
# Выполняем задачу
Start-AzVM -ResourceGroupName $ResourceGroup -Name $VMName
Write-Output "VM started successfully"
Планирование:
# Python в Azure Automation
import azure.automation
from datetime import datetime, timedelta
# Schedule запускает runbook каждый день в 10:00
schedule = {
"name": "DailyBackup",
"frequency": "Day",
"interval": 1,
"start_time": datetime.utcnow() + timedelta(minutes=5)
}
4. Azure Functions с Timer Trigger
Для serverless обработки:
# Azure Functions with Timer Trigger
import azure.functions as func
from datetime import datetime
def main(mytimer: func.TimerRequest) -> None:
utc_timestamp = datetime.utcnow().isoformat()
if mytimer.past_due:
logging.info('The timer is past due!')
# Выполняем обработку данных
process_data()
logging.info(f'Python timer trigger function ran at {utc_timestamp}')
Конфигурация в function_app.json:
{
"schedule": "0 0 10 * * *",
"name": "TimerTrigger",
"type": "timerTrigger",
"direction": "in"
}
5. Azure Container Instances с Cron
Для контейнеризованных задач:
# YAML конфиг
apiVersion: '2019-12-01'
name: mycontainer
properties:
containers:
- name: myimage
properties:
image: myimage:latest
resources:
requests:
cpu: 1.0
memoryInGB: 1.5
osType: Linux
restartPolicy: OnFailure
# Запуск через контейнер с cron
0 10 * * * /bin/sh -c 'python /app/process.py'
6. Azure Kubernetes Service (AKS) с CronJob
Для микросервисов:
apiVersion: batch/v1
kind: CronJob
metadata:
name: data-pipeline
spec:
schedule: "0 10 * * *" # Каждый день в 10:00
jobTemplate:
spec:
template:
spec:
containers:
- name: data-processor
image: myregistry.azurecr.io/data-processor:latest
command: ["python", "/app/main.py"]
restartPolicy: OnFailure
7. Azure SQL Agent Jobs
Для SQL базы данных:
-- Создаём job
EXEC jobs.sp_add_job
@job_name='DailyDataRefresh',
@description='Refresh data every day at 10 AM'
-- Добавляем step
EXEC jobs.sp_add_jobstep
@job_name='DailyDataRefresh',
@step_name='RefreshData',
@command='EXECUTE sp_RefreshAnalytics'
-- Расписание
EXEC jobs.sp_add_schedule
@schedule_name='Daily10AM',
@interval_type='DAY',
@interval_count=1,
@start_time='10:00:00'
Рекомендации по выбору
- Logic Apps: простые workflow, интеграция сервисов
- Data Factory: pipeline обработки данных
- Functions: serverless, микротаски
- Automation: PowerShell/Python скрипты
- AKS/Container Instances: контейнеризованные приложения
- SQL Agent: встроенное планирование для SQL Server
Чаще всего использую Logic Apps + Data Factory для надёжного и управляемого планирования.