make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap(); $factory = WorkerFactory::create(); $worker = $factory->newWorker(taskQueue: env('TEMPORAL_TASK_QUEUE', 'laravel-tasks')); // Register Workflows $worker->registerWorkflowTypes( \App\Temporal\ProductImport\ProductImportWorkflow::class, \App\Temporal\ProductImport\BatchImportWorkflow::class, \App\Temporal\OrderFulfillment\OrderFulfillmentWorkflow::class, \App\Temporal\UserMigration\UserMigrationWorkflow::class, \App\Temporal\ExternalApiSync\ExternalApiSyncWorkflow::class, \App\Temporal\WebhookDelivery\WebhookDeliveryWorkflow::class, \App\Temporal\DataEnrichment\DataEnrichmentWorkflow::class, \App\Temporal\EloquentQuery\EloquentQueryWorkflow::class, \App\Temporal\SystemMonitor\SystemMonitorWorkflow::class, ); // Register Activities (using Laravel container for dependency injection) $worker->registerActivity( \App\Temporal\ProductImport\ProductImportActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\OrderFulfillment\OrderActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\UserMigration\UserMigrationActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\ExternalApiSync\ExternalApiSyncActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\WebhookDelivery\WebhookDeliveryActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\DataEnrichment\DataEnrichmentActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\EloquentQuery\EloquentQueryActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $worker->registerActivity( \App\Temporal\SystemMonitor\SystemMonitorActivity::class, fn(\ReflectionClass $class) => app($class->getName()) ); $factory->run();