async handleEvent()

in src/eventHandlers/FunctionLoadHandler.ts [23:53]


    async handleEvent(msg: rpc.IFunctionLoadRequest): Promise<rpc.IFunctionLoadResponse> {
        worker.app.workerIndexingLocked = true;

        const response = this.getDefaultResponse(msg);

        worker.log({
            message: `Worker ${worker.id} received FunctionLoadRequest`,
            level: LogLevel.Debug,
            logCategory: LogCategory.System,
        });

        if (isDefined(worker.app.blockingAppStartError)) {
            throw worker.app.blockingAppStartError;
        }

        if (!worker.app.isUsingWorkerIndexing) {
            const functionId = nonNullProp(msg, 'functionId');
            const metadata = nonNullProp(msg, 'metadata');
            try {
                await loadLegacyFunction(functionId, metadata, worker.app.packageJson);
            } catch (err) {
                const error = ensureErrorType(err);
                error.isAzureFunctionsSystemError = true;
                const message = `Worker was unable to load function ${metadata.name}: '${error.message}'`;
                trySetErrorMessage(error, message);
                throw error;
            }
        }

        return response;
    }