Skip to main content

lsbatch is a LeadSquared Batch Jobs software development kit that allows developers to code and test Batch Jobs offline.

Project description

About lsbatch

lsbatch is a LeadSquared provides Batch Jobs software development kit that allows developers to code and test Batch Jobs offline. It can also be to prepare final deliverable that can uploaded to configure Batch Jobs in user's LeadSquared account.

Getting Started

Assuming that you have Python and virtualenv installed, use the package manager pip to install lsbatch.

pip install lsbatch

Usage

Initiate a new Batch Job project

To initiate a new Batch Job, execute the following command in cmd or shell.

lsbatch init

You will be asked to provide name of this Batch Job

>Your Batch Job Name:

A new folder with the provided name will be created in the current directory. This folder will be having all the libraries required for Batch Jobs local development. You will find custom virtualenv in folder name with some default packages as following

  • boto3
  • mysql-connector-python
  • pysftp
  • sendgrid
  • pathlib
  • pandas
  • pyyaml
  • openpyxl
  • requests
  • flask
  • tabulate
  • numpy

User should keep his/her Batch Job files in 'src' folder which will be created inside a folder with Batch Job name.

General rules for writing a Batch Job

  1. You Batch Job folder should have a folder by name src which will used to write your actual code. This folder is automatically created during the init process
  2. src folder should have main.py file that is basically the starting point of your application. By default this file is created with sample code during the `init process
  3. All code/files written by developer should reside in src folder only
  4. Your src folder may contain a requirements.txt file which can be used to provide any custom packages

Executing a Batch Job

After initiating batch with lsbatch init , make sure that your cmd path is not set to this new folder

cd {batch_job_folder_name}

To run Batch Job, run command lsbatch run

lsbatch run

This will execute the code in context of virtual environment that has already been setup

Install LeadSquared Batch Job dependecies in current folder

The root folder already contains a .gitignore file that will commit only necessary files to your source code repository. If you clone the repo, run the lsbatch install command inside the project directory to setup the Batch environment again.

lsbatch install

This command can also be used in existing projects to reset the Batch Jobs environment at any time.

To run this command succesfully, current directory should have src folder in which user code will reside.

Install your custom packages

lsbatch install {package_name}

This installs your custom package as well as creates a requirements.txt file inside src folder. Same file will be used to identify dependencies at the time of actual execution of the Batch Job

User should run this command in project directory. Ensure the folder contains batch-virtualenv folder

Packaging you project for deployement

Batch Job accepts the deliverables as a zip file. To zip the project in correct way, use the following command

lsbatch install pack

This command will create zip deliverable in the project directory with same name as project. Its a good practive to include the name of this zip file in .gitignore file to require the repository size

Uninstall package

To uninstall a custom package, run the following command

lsbatch uninstall {package_name}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsbatch-0.1.tar.gz (11.2 kB view hashes)

Uploaded Source

Built Distribution

lsbatch-0.1-py3-none-any.whl (14.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page