Hello,
While testing PHP with the sample app, I noticed that live changes to ExecuteCommand code were reflected in the output, but changes to other Workflow/Activity" classes did not take effect unless I ran docker compose down --volumes then started the app back up.
To test this hypothesis that PHP is converted to compiled Go, I modified a classname so it wouldn’t match the interface, and got this error
{
"message": "unable to find workflow type: MoneyTransfer. Supported types: [Cron.greet, Signal.greet, Child.greet, FileProcessing, DynamicSleepWorkflowInterface, Schedule.greet, CancellationScope.greet, AsyncActivity.greet, Periodic.greet, SimpleActivity.greet, MoneyBatch, SearchAttributes, Saga.Compensate, Saga, Zonk.start, Saga.ChildWorkflow, ChildWorkflow, AsyncActivityCompletion.greet, QueryWorkflow.createGreeting, Polymorphic.greet, Parent.greet, GreetingWorkflow, AsyncClosure.greet, FailedWorkflow, ActivityRetry.greet, BookingSaga, SubscriptionWorkflowInterface]",
"source": "GoSDK",
"stackTrace": "",
"encodedAttributes": null,
"cause": null,
"applicationFailureInfo": {
"type": "",
"nonRetryable": false,
"details": null
}
}
see "source": "GoSDK",
Thanks for any insight!
Would love to know if there’s a workaround to this, otherwise testing php class updates locally means we have to reload the temporal services.