OpenVeo Publish server

API Docs for: 8.0.0
Show:

PublishManager

Summary

Defines the PublishManager which handles the media publication's process.

Media publications are handled in parallel. Media publication's process can be different regarding the type of the media.

Constructor

PublishManager

Syntax

PublishManager

(
  • videoProvider
  • [maxConcurrentPackage=3]
)

Summary

Parameters:

  • videoProvider VideoProvider

    The media provider

  • [maxConcurrentPackage=3] Number optional

    The maximum number of medias to treat in parallel

Example:

var coreApi = process.api.getCoreApi();
var database = coreApi.getDatabase();
var PublishManager = process.requirePublish('app/server/PublishManager.js');
var videoProvider = new VideoProvider(database);
var publishManager = new PublishManager(videoProvider, 5);

// Listen publish manager's errors
publishManager.on('error', function(error) {
  // Do something
});

// Listen to publish manager's end of processing for a media
publishManager.on('complete', function(mediaPackage){
  // Do something
});

// Listen to publish manager's event informing that a media processing is retrying
publishManager.on('retry', function(mediaPackage) {
  // Do something
});

// Listen to publish manager's event informing that a media, waiting for upload, starts uploading
publishManager.on('upload', function(mediaPackage) {
  // Do something
});

publishManager.publish({
  type: 'youtube', // The media platform to use for this media
  originalPackagePath: '/home/openveo/medias/media-package.tar', // Path of the media package
  originalFileName: 'media-package' // File name without extension
});

Methods

addPackage

Syntax

addPackage

(
  • mediaPackage
)
Boolean private

Summary

Adds media package to the list of pending packages.

Parameters:

  • mediaPackage Object

    The media package to add to pending packages

Returns:

Boolean:

true if the media package is successfully added to pending packages false if it has been added to queue

createMediaPackageManager

Syntax

createMediaPackageManager

(
  • mediaPackage
)
Package private

Summary

Creates a media package manager corresponding to the media type.

Parameters:

  • mediaPackage Object

    The media to manage

Returns:

Package:

A media package manager

get

Syntax

get

(
  • videoProvider
  • [maxConcurrentPackage]
)
PublishManager static

Summary

Gets an instance of the PublishManager.

Parameters:

  • videoProvider VideoProvider

    The media provider

  • [maxConcurrentPackage] Number optional

    The maximum number of medias to treat in parallel

Returns:

PublishManager:

The PublishManager singleton instance

onComplete

Syntax

onComplete

(
  • mediaPackage
)
private

Summary

Handles media complete event.

Parameters:

  • mediaPackage Object

    The package on error

onError

Syntax

onError

(
  • error
  • mediaPackage
)
private

Summary

Handles media error event.

Parameters:

  • error Error

    The error

  • mediaPackage Object

    The media on error

publish

Syntax

publish

(
  • mediaPackage
)

Summary

Publishes the given media package.

Media package must be of one of the supported type.

Parameters:

  • mediaPackage Object

    Media to publish

    • originalPackagePath String

      Package absolute path

    • packageType String

      The package type

    • [title] String optional

      The title to use for this media, default to the file name without extension

removeFromPending

Syntax

removeFromPending

(
  • mediaPackage
)
private

Summary

Removes a media from pending medias.

Parameters:

  • mediaPackage Object

    The media package to remove

retry

Syntax

retry

(
  • packageId
  • forceRetry
)

Summary

Retries publishing a media package which is on error.

Parameters:

  • packageId String

    The id of the package on error

  • forceRetry Boolean

    Force retrying a package no matter its state

retryAll

Syntax

retryAll

()

Summary

Retries publishing all packages in a non stable state.

Stable states are :

  • STATES.ERROR
  • STATES.WAITING_FOR_UPLOAD
  • STATES.READY
  • STATES.PUBLISHED

upload

Syntax

upload

(
  • packageId
  • platform
)

Summary

Uploads a media blocked in "waiting to upload" state.

Parameters:

  • packageId String

    The id of the package waiting to be uploaded

  • platform String

    The type of the video platform to upload to

Properties

maxConcurrentPackage

Syntax

maxConcurrentPackage

Number final

Summary

Maximum number of medias to treat in parallel.

pendingPackages

Syntax

pendingPackages

Array final

Summary

Medias being processed.

queue

Syntax

queue

Array final

Summary

Medias waiting to be processed.

videoProvider

Syntax

videoProvider

VideoProvider final

Summary

Media provider.

Events

complete

Syntax

complete

Summary

Fired when a package process has succeed.

Event Payload:

  • The Object

    processed package

error

Syntax

error

Summary

Fired when an error occurred while processing a package.

Event Payload:

retry

Syntax

retry

Summary

Fired when a media in error restarts.

Event Payload:

stateChanged

Syntax

stateChanged

Summary

Fired when media state has changed.

Event Payload:

upload

Syntax

upload

Summary

Fired when a media stuck in "waiting for upload" state starts uploading.

Event Payload: