Scheduler in Alumio

Table Of Contents

  • Introduction
  • Creating and maintaining Scheduled jobs
  • Setting up a Scheduled Job
  • Video guide

Introduction

Scheduled jobs allow setting incoming and outgoing configurations to run according to a customized schedule.

Creating and maintaining Scheduled jobs

Possible configuration fields:

  • Name - A name describing the incoming or outgoing configuration the Scheduled job will trigger, i.e. Orders to Magento Incoming
  • Identifier - A unique identifier for this scheduled job (this field is automatically generated based on the name).
  • Description - Detailed description for the scheduled job.
  • Disabled - A flag that indicates whether the scheduled job is disabled. Disabled scheduled jobs do not process data.
  • Job - a field where you can choose to configure either an incoming or outgoing configuration, or repair stuck tasks.
  • Incoming configuration - if you have selected an incoming configuration as a job in the previous step, you will be offered to choose an incoming configuration that you wish to trigger among the list of all available incoming configurations built on your environment.
  • Route - if you have selected an outgoing configuration as a job in the previous step, you will be offered to choose a route that you wish to trigger among the list of all available routes built on your environment.
  • Number of tasks to export - this field limits the number of tasks to trigger in a route. This can be configured to solve the following issue. In case the subscriber has subscribed to 1000 tasks at a time, it will push these 1000 items whenever the route is triggered. It might cause an API to crash with 500 server error. To avoid this, you can set the limit to 100 tasks and run the job every 5 minutes, so it could process 100 tasks out of 1000 tasks every 5 mins. More specifically, it would pick up the next 100 “new” tasks every 5 minutes.
  • Expression - field for setting up a corn expression that will define how often the job is triggered. When a cron expression is set up incorrectly, the system indicates an error, so you always know if the cron expression is verified following the rules.
  • Timezone - a field for selecting your preferred time zone.
  • Priority - a field for selecting priority which affects which job should be picked up first.

Setting up a Scheduled Job

To set up scheduled jobs, perform the following steps:

  1. Go to Settings → scheduled Jobs.
  2. Hit “+” to create a new one.
  3. Select if you are triggering an incoming or an outgoing configuration (route) (you would need to do both for each route).
  4. Finally, configure a cron job to run every X time.

Note: You can validate your cron expression in Crontab Guru the link to which can be found below the cron expression field.

Note: If you have a real-time processing route, you only need to configure a scheduled job for an incoming configuration, and the outgoing configuration of the route will be executed automatically.

It is recommended to set up a limit for the number of tasks to export in a scheduled job for the outgoing configuration to prevent the tasks from timing out. In case the tasks are unlimited, whenever the previous process is still running and the scheduled job starts the next one, it will get timed out.

In addition, Alumio prevents queues from being overloaded, therefore, it doesn’t allow duplicating scheduled multiple jobs especially when one process can take at least 1 hour. Therefore, Alumio will check if the same configuration is already scheduled, which means the job won’t be added to the queue and can’t be duplicated.

Note: A job is considered a duplicate when a job that will execute the same configurations already exists on the Processes page with the status “Scheduled”. This feature doesn’t apply to Webhooks. This feature can be enabled/disabled with an environment variable.

Video guide