def fulfill_order_async()

in order/tasks.py [0:0]


def fulfill_order_async(order_id, carrier, tracking_number, items=None):
    ''' Async task to fulfill an order by id, and sync the order's items

    params:
    order_id: id of the Order to fulfill
    carrier: the shipping carrier
    tracking_number: tracking number from the carrier
    items: the subset of items this particular fulfillment is for
    '''
    logger.info("fulfill_order_async for order id {}".format(order_id))
    order, _ = fulfill_order_by_id(order_id, carrier, tracking_number, items)

    # check if fulfill is successful
    if order is not None:
        # get just items in the order or items being fulfilld for syncing
        items = items or get_order_items(order)
        logger.info("sync catalog to FB after fulfill order for store id {}{}".format(
                order.store.id,
                ", and products: {}".format(items) if items else "."
            )
        )
        res = post_item_batch_by_id(order.store.id, True, items)
        logger.info("post_item_batch_by_id response: {}".format(res.json()))